一、 概念

  1. docker镜像:是一个特殊的文件系统,提供了容器运行时所需的程序、库、资源、配置等文件及一些为运行时准备的配置参数(如:匿名卷、环境变量、用户等)。镜像不包含任何数据状态,其内容在构建之后也不会被改变。
  2. 容器:是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。需要保存的数据不要存储在容器中,要放到数据卷或者宿主系统中,否则容器消亡,数据会会丢失。
  3. 仓库:仓库集中管理某一镜像,每个仓库包含多个版本的镜像,某个镜像的不同版本用 tag 来区分:<仓库名>:<标签>

二、 dockfile 指令

dockerfile 指令不区分大小写,一般用大写

  1. FROM从已存在的镜像开始构建 FROM <image>[:<tag>] [AS <name>]
  2. RUN在当前层上运行指令提交到镜像 RUN <command> 或 RUN ["executable", "param1", "param2"]
  3. COPY复制文件 COPY [--chown=<user>:<group>] [<源路径1>, ... <目标路径>]
  4. ADD 复制文件 ADD [--chown=<user>:<group> <src>... <dest>]
  5. MAINTAINER(建议用label) 生成image的author信息 MAINTAINER <name>
  6. LABEL 标签 LABEL <key>=<value> <key>=<value> ...
  7. EXPOSE 通知容器运行监听的端口 EXPOSE <port> [<port>/<协议:tcp或udp>...]
  8. ENV 设置环境变量 ENV <key> <value> 或 ENV <key>=<value>
  9. ENTRYPOINT 入口点 ENTRYPOINT ["executable", "param1", "param2"] (exec form, preferred)
  10. VALUME 外部存储挂载点 VOLUME ["/data"]
  11. USER 在容器运行时设置用户名或用户组 USER <user>[:<group>] 或 USER <UID>[:<GID>]
  12. WORKDIR 运行路径 WORKDIR /路径/
  13. ARG 容器构建指令 ARG <name>[=<default value>]
文章目录