Docker从入门到精通(五)

2023-02-23 17:21:22 浏览数 (1)

Docker从入门到精通(四)

自定义镜像,我们最常用的就是自己编写dockerfile文件,然后构建镜像,一般而言,dockerfile分为四部分,基础镜像信息,维护者信息,进项操作指令,和容器启动执行指令,所以我们必须熟悉编写dockerfile的各个指令

  • FROM

指定所创建镜像的基础镜像,如果本地不存在,默认回到docker Hub下载指定镜像

  • MAINTAINER

指定维护者信息,格式MAINTAINER<name>

  • RUN

用于docker build 过程中执行的指令,并提交为新的镜像

  • CMD

类似RUN,区别是用于指定启动容器是默认执行的命令,是基于用dockerfile构建的新镜像启动的时候执行的命令,每个dockerfile只有一条CMD命令,如果指定多条指令,只有最后一条会被执行

  • LABLE

用于执行生成镜像的元数据标签信息,LABLE <KEY>=<VALUE> <KEY>=<VALUE> ...

  • EXPOSE

声明镜像内服务所监听的端口,EXPOSE <port> <port> ..,只起到声明作用,并不会自动完成端口映射,用于容器指定端口实现外界通讯

  • ENV

指定环境变量,在镜像生成过程中会被后续RUN指定使用

  • ADD

该命令将复制指令的src路径下的内容到容器中的dest路径下, ADD src dest

  • COPY

类似ADD,区别是ADD支持tar文件和URL COPY src dest

  • ENTRYPOINT

类似CMD,用于指定启动容器是默认执行的命令,区别是ENTRYPOINT不能被docker run 指定参数覆盖,如果必须进行覆盖可以docker run --entrypoint 参数覆盖

  • VOLUME

创建一个数据卷挂载点, VOLUME [ path]

  • USER

运行容器时的用户名或UID,用后续run cmd,等指令也会使用指定的用户身份

  • WORKDIR

为RUN CMD 和ENTRYPOINT指定工作目录 WORKDIR [path]

  • ARG

类似于ENV,区别是可以用docker build --build-arg <name>=<value>,进行修改

  • ONBUILD

使用ONBUILD 的dockerfile构建的镜像,如果作为其他新的镜像dockerfile 的基础镜像,那么新的镜像dockerfile中使用from baseImage的时候,会自动执行ONBUILD指令的内容

0 人点赞