Dockerfile关键字说明

1.本人在使用Dockerfile文件制作镜像过程中踩了不少坑,这里将我总结的一些注意点贴出来,供大家参考。

2.Dockerfile大致格式:

FROM centos:7
MAINTAINER chuan
RUN yum install -y vim
WORKDIR /usr
CMD /bin/bash

3.关键字说明:

  • 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.最后生成镜像时:

docker build -t 新镜像名 -f centos\_dockerfile .

最后有个点表示当前目录的centos_dockerfile文件。(如果文件名就是Dockerfile,则直接:docker build -t 新镜像名 .)


SyntaxError
199 声望20 粉丝