首页 > 其他分享 >编写Dockerfile文件

编写Dockerfile文件

时间:2023-05-09 20:33:43浏览次数:40  
标签:151 文件 jdk1.8 root && 镜像 编写 Dockerfile

镜像是容器的基础,容器基于镜像定义的内容来运行。镜像是多层存储,每一层是前一层基础上进行的修改。

定制镜像时,一般使用Dockerfile来完成。Dockerfile是一个文本文件,其内包含了一条条的指令,每一条指令构建镜像的其中一层,因此每一条指令的内容,就是描述该层应该如何构建。

Dockerfile文件编写与应用实际需求直接相关,每个应用所写的Dockerfile会有所区别,请根据业务实际需求来写Dockerfile文件。

FROM centos:7.1.1503  #表示此镜像以centos7.1.1503为基础镜像
RUN mkdir -p /usr/local/mongodb/data \
 && mkdir -p /usr/local/mongodb/bin \
 && mkdir -p /root/apache-tomcat-7.0.82 \
 && mkdir -p /root/jdk1.8.0_151   #创建文件夹,存放数据和依赖文件,建议多个命令写成一条,可减小镜像大小
COPY ./jdk1.8.0_151 /root/jdk1.8.0_151  #将jdk1.8.0_151目录下的文件拷贝到容器目录下
CPOY ./start_tomcat_and_mongo.sh /root/ #将start_tomcat_and_mongo.sh拷贝到容器/root/目录下

RUN chown root:root -R /root \
 && echo "JAVA_HOME=/root/jdk1.8.0_151" >>/etc/profile \
 && echo "PATH=\$JAVA_HOME/bin:$PATH" >>/etc/profile \
 && echo "CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar" >>/etc/profile \
 && chmod +x /root \
 && chmod +x /root/start_tomcat_and_mongo.sh  #注入JAVA环境变量

ENTRYPOINT ["/root/start_tomcat_and_mongo.sh"]   #容器启动的时候会自动运行里面的命令,可以一条可以多条,也可以是一个脚本

 

标签:151,文件,jdk1.8,root,&&,镜像,编写,Dockerfile
From: https://www.cnblogs.com/jason-zhao/p/17386188.html

相关文章

  • ASP.NET 超大文件上传和断点续传的实现
    ​ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现。下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压。ASP.NET页面设计:TextBox和Button按钮。​编辑TextBox中需要自己受到输入文件夹的路径(包含文件夹),通过Button实......
  • 7. 文件的操作
    1.open方法文件的操作大致分为2类1.1第一类:控制文件读写内容的模式:t和b强调:t和b不能单独使用,必须跟r/w/a连用t:表示文本(默认的模式)1.读写都是以str(unicode)为单位2.都是文本文件(视频,图片这些就不是了)3.必须指定encoding='xxx'b:表示的是二......
  • Python中的文件操作
    我们的当前工作路径为:E:\\Miniconda\\envs\\Practice_env\\d2l-zh\\python中的文件操作1.从文件中读取数据1.使用file_object.read()读取整个文件的内容。其中file_object是一个表示文件的对象: 要以任何方式使用文件,哪怕是仅仅打印其内容,都要先打开这个文件。函数open()用......
  • node使用fs.rename重命名文件的时候,如果有该名称的文件会被替换的问题
    再项目中使用fs.rename给快捷方式重命名的时候,因为有两个版本,在开发人员电脑上都安装两个版本的时候,发现每次都只有快捷方式,然后在重新查看代码的时候。发现代码中使用到了fs.rename去重命名文件。于是做了以下处理letnewLnkPath=path.join(桌面地址,`{appName}.lnk`)if(exi......
  • CSharp 超大文件上传和断点续传的实现
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传  可以带参数        [HttpPost("upload")]        publicJsonResultuploadProject(I......
  • MySQL笔记之文件和日志
    一、存储文件1、存放位置MySQL数据库会在data目录下,以数据库为名,为每一个数据库建立文件夹,用来存储数据库中的表文件数据。不同的数据库引擎,每个表的扩展名也不一样,例如:MyISAM用“.MYD”作为扩展名,Innodb用“.ibd”等。 2、FRM表结构信息文件无论是哪种存储引擎,创建表之......
  • linux|Windows|Xshell——Windows远程连接Linux服务器进行上传、下载文件,用远程登录工
    Windows远程连接Linux服务器进行操作时总会需要上传、下载文件。要实现这个目的,既可以通过FTP的方式,也可以在本地终端使用scp命令。但如果是使用Xshell等工具操作服务器的话,最简单的方法就是其自带支持的sz、rz命令了。这两个命令可以直接上传、下载文件,并自动弹出文件选择框,操作......
  • linux定时备份日志文件脚本,重启jar简易脚本
     1.编写脚本文件saveLogs.sh (备份文件到指定位置重命名,然后情况文件继续写入)  cp/opt/zcgl/zcgl.log/opt/zcgl/logs/zcgl-`date+%Y%m%d`.log&  sleep2  >zcgl.log2. 定时脚本crontab 打开设置:crontab-e 输入内容:5923***sh/opt/zcgl/saveLogs.......
  • C# 超大文件上传和断点续传的实现
    ​ IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag        客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续......
  • MyBatis逆向工程配置文件及一些配置解释(跑通)
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEgeneratorConfigurationPUBLIC"-//mybatis.org//DTDMyBatisGeneratorConfiguration1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.d......