Dockerfile文件详解
创始人
2024-02-20 05:20:38
0

组成部分

说明

基础镜像信息

使用 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

相关内容

热门资讯

19岁小将梅开二度,帮助AC米... 在意甲的赛季中,AC米兰迎来了与萨索洛的关键对决。尽管萨索洛在往年的意甲表现平平,但每当面对米兰双雄...
重庆“10人聚餐9人开溜”事件... 重庆市九龙坡区一餐馆被客人欠费一事有了进展。12月14日,澎湃新闻从该餐馆负责人陈先生处获悉,经过民...
“工业机器人曾是日本的堡垒,但... 【文/观察者网 陈思佳】“工业机器人是日本的传统堡垒,但中国已在新轨道上竞争。”香港《南华早报》12...
美国防部机密文件曝光,称解放军... 综合小央视频、环球网12月14日报道,美国国防部机密文件“强者简报”称,解放军的实力已经足以在美国大...
古德温20+8+6王哲林14+... 【搜狐体育战报】北京时间12月14日CBA常规赛第1轮,主场作战的上海久事以95-85击败长白山恩都...
公告精选|哈森股份重组受阻 华... 控制权变更 古鳌科技(300551.SZ):实际控制人陈崇军将旗下6769.35万股股份(占比19....
公益法律援助经验 徐云志律师的... 徐云志律师执业证号 1370220********14,任职于山东盈康律师事务所,是四川大学法学硕士...
明年政策导向及市场影响分析 昨日收盘后工作会议通稿发布,为明年政策定调,有几大重要变化:对当前形势判断有变,国际趋近缓和,国内供...
山东烟台福山警方揭开“闲置账号... 新华社济南12月14日电(记者邵琨)近日,山东省烟台市公安局福山分局在冬季守护专项行动中,成功斩断一...