Dockerfile关键字说明
1.本人在使用Dockerfile文件制做镜像过程当中踩了很多坑,这里将我总结的一些注意点贴出来,供你们参考。docker
2.Dockerfile大体格式:shell
FROM centos:7
MAINTAINER chuan
RUN yum install -y vim
WORKDIR /usr
CMD /bin/bash
3.关键字说明:vim
- FROM:基于哪一个基础镜像
- WORKDIR:指定shell命令运行在哪一个目录下。为后续的 RUN、CMD、COPY、ADD 等命令配置工做目录。接下来的 COPY 和 ADD 命令中的相对路径就是相对于 WORKDIR 指定的路径
- COPY:将当前宿主机的文件拷贝到镜像中去(copy的文件必须在build命令最后指定的路径内)
- ADD:和COPY同样,而且还能够解压缩,或者从 url 拷贝文件到镜像中。COPY 和 ADD 命令具备相同的特色:只复制目录中的内容而不包含目录自身。
- RUN:构建镜像时运行的shell命令
- CMD:容器运行时执行的shell命令(多个CMD只有最后一个生效,要想都执行能够使用&&链接多个命令)(若是容器run时,后面指定了shell版本,Dockerfile中的CMD也会被覆盖)
- ENTRYPOINT:和CMD同样,可是能够追加(必须使用exec格式,即:ENTRYPOINT [./entrypoint.sh,参数1,参数2……])
- EXPOSE:指定镜像暴露出来的端口
- VOLUMU:数据容器卷,指定映射文件,用于数据持久化
- ENV:指定环境变量
- LABEL:指定容器运行时标示
- SHELL:指定shell
- MAINTAINER:镜像维护者的姓名和邮箱地址
- ONBUILD:当构建一个父镜像时,父镜像被子镜像继承时,ONBUILD被触发
4.最后生成镜像时:centos
docker build -t 新镜像名 -f centos\_dockerfile .
最后有个点表示当前目录的centos_dockerfile文件。(若是文件名就是Dockerfile,则直接:docker build -t 新镜像名 .)bash