Dockerfile文件详解

组成部分

说明

基础镜像信息

使用 FROM 关键字指定基础镜像信息,必须是 Dockerfile 文件的第1条指令。

维护者信息

使用 MAINTAINER 关键字指定,可以使用 Dockerfile 文件创建者的姓名或者电子邮件作为维护者信息。

镜像操作指令

每执行一条镜像操作指令,将在镜像中添加新的一层。可以根据需要使用一条或者多条镜像操作指令。

常见的镜像操作指令有:RUN、COPY、ADD、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME 等。

容器启动执行指令

用于指定在启动容器时需要执行的命令,通过关键字 CMD、ENTRYPOINT 指定。

在完成 Dockerfile 文件的编写后执行 docker build 命令,会根据 Dockerfile 文件中上下文的内容构建新 docker 镜像。这个构建过程会被递归处理。因此,如果在 Dockerfile 文件中含有子路径或者 url 等信息,都被递归处理。

docker build 命令在使用 Dockerfile 文件生成镜像时,会通过 docker 守护进程执行 Dockerfile 文件中的每一条指令,并在每一步执行完成后生成一个新镜像。当所有指令执行完成后,会输出最终镜像的 id。

当镜像最终生成后,docker 守护进程会自动清理 docker 的上下文环境,并自动重用已生成的中间镜像,以加速构建的速度。

创建 Dockerfile 文件

sudo tee Dockerfile <<-'EOF'

FROM centos
MAINTAINER 'rike'
RUN mkdir /root/training
RUN mkdir /root/tools
COPY openlogic-openjdk-8u342-b07-linux-x64.tar.gz /root/tools
RUN tar zxvf /root/tools/openlogic-openjdk-8u342-b07-linux-x64.tar.gz -C /root/training
ENV JAVA_HOME /root/training/openlogic-openjdk-8u342-b07-linux-x64
ENV PATH $JAVA_HOME/bin:$PATH
COPY apache-tomcat-8.5.84.tar.gz /root/tools
RUN tar zxvf /root/tools/apache-tomcat-8.5.84.tar.gz -C /root/training
COPY MyDemoWeb.war /root/training/apache-tomcat-8.5.84/webapps
ENTRYPOINT ["/root/training/apache-tomcat-8.5.84/bin/catalina.sh","run"]

EOF

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值