Dockerfile

docker build 命令

作用:
  根据dockerfile创建镜像
命令格式:
  docker build [OPTIONS] PATH | URL | -
命令参数:
  PATH Dockerfile所在路径(文件夹路径),文件名必须是Dockerfile
  URL Dockerfile所在URL地址

OPTIONS:
  -t, --tag list 为镜像设置名称和tag
  -f, --file string 指定Dockerfile的路径(这是可以使用其他名称命名Dockerfile)

执行dockerfile每一步实际上是基于上一步的镜像运行一个临时容器,运行命令,再利用commit提交为一个新的镜像

dockerfile在执行每一步的过程中,一旦某一步发生变化,从这一步往后的每一步都会被重写执行,而不会利用缓存

Dockerfile命令概述

  • FROM: 指定基础镜像
  • RUN: 构建镜像过程中需要执行的命令。可以有多条。docker build
  • CMD:添加启动容器时需要执行的命令。多条只有最后一条生效。可以在启动容器时被覆盖和修改。
  • ENTRYPOINT:同CMD,但这个一定会被执行,不会被覆盖修改。
  • :为镜像添加对应的数据。
  • MLABELAINTAINER:表明镜像的作者。将被遗弃,被LABEL代替。
  • EXPOSE:设置对外暴露的端口。
  • ENV:设置执行命令时的环境变量,并且在构建完成后,仍然生效
  • ARG:设置只在构建过程中使用的环境变量,构建完成后,将消失
  • ADD:将本地文件或目录拷贝到镜像的文件系统中。能解压特定格式文件,能将URL作为要拷贝的文件
  • COPY:将本地文件或目录拷贝到镜像的文件系统中。
  • VOLUME:添加数据卷
  • USER:指定以哪个用户的名义执行RUN, CMD 和ENTRYPOINT等命令
  • WORKDIR:设置工作目录
  • ONBUILD:如果制作的镜像被另一个Dockerfile使用,将在那里被执行Docekrfile命令
  • STOPSIGNAL:设置容器退出时发出的关闭信号。
  • HEALTHCHECK:设置容器状态检查。
  • SHELL:更改执行shell命令的程序。Linux的默认shell是[“/bin/sh”, “-c”],Windows的是[“cmd”, “/S”, “/C”]。

更多可以参考:https://docs.docker.com/engine/reference/builder/#usage

 

原文地址:https://www.cnblogs.com/ycg-blog/p/12121310.html