本文共 1226 字,大约阅读时间需要 4 分钟。
Dockerfile中的主要内容
RUN:设置构件容器时就运行的命令以及提交运行结果,RUN经常用于安装软件包。dockerfile中可以写多条RUN指令
CMD:设置容器启动时执行的命令,在构件时并不运行,CMD能够被docker run后面跟的命令行参数替换。dockerfile中只能写一条CMD指令,如果写了多条,那么只有最后一条生效。 ENTRYPOINT:设置容器启动时执行的命令,ENTRYPOINT不能被docker run后面跟的命令行参数替换。dockerfile中只能写一条ENTRYPOINT指令,如果写了多条,那么只有最后一条生效。如果dockerfile中出现了ENTRYPOINT 会覆盖CMD(也就是数CMD执行的命令不会执行)
Dockerfile内容大体分为4部分
编写dockerfile
#this docker file#Version 1#Author: XXXX#Base imageFROM centosMAINTAINER XXXX XX@qq.com#CommandsRUN rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm && yum -y install nginxADD index.html /usr/share/nginx/html/index.htmlRUN echo "daemon off;" >> /etc/nginx/nginx.confEXPOSE 80CMD ["nginx"]
注:在Dockerfile文件中每运行一个RUN就会在构建镜像时多加一层,所以多个RUN利用&&合并起来会较少构建镜像的层数
mkdir -p /opt/dockerfile/nginx
cd /opt/dockerfile/nginx/
vim Dockerfile
注:Dockerfile中ADD添加的文件必须要与Dockerfile文件在同一目录下 Dockerfile必须这个名字
vim index.html
docker build -t mynginx:v3 ./
创建完镜像后启动容器
docker run -d -p 80:80 mynginx:v3
转载地址:http://lmepb.baihongyu.com/