Dockerfile指令

1、CMD
CMD指定容器被启动时执行的命令,RUN指定镜像被构建时运行的命令。CMD要运行的命令是存放在数组结构中(CMD[“/bin/true”]),docker run 命令可覆盖CMD指令。在Dockerfile中只能运行一条CMD指令,若指定多条CMD指令则只会运行最后一条。
2、ENTRYPOINT
此指令提供的命令不容易在容器启动时被覆盖,docker run命令行中指定的任何参数都会被当作参数再次传递给ENTRYPOINT指令中指定的命令。可通过docker run的–entrypoint标志覆盖该指令。
可组合使用ENTRYPOINT和CMD命令。如:
ENTRYPOINT[“/usr/sbin/nginx”]
CMD[“-h”]
若在启动容器时在命令行中指定参数 -g “daemon off;”,则被传递给Nginx守护进程,让Nginx以前台方式运行;若不指定任何参数,则CMD中的参数被传递给Nginx守护进程,Nginx服务器会以/usr/sbin/nginx-h的方式启动,来显示Nginx的帮助信息。
3、WORKDIR
该指令为Dockerfile中的指令设置工作目录,也可为最终的容器设置工作目录。
在命令行可通过-w标志在运行时覆盖工作目录。
4、ENV
 用来在镜像过程中设置环境变量。可在其他指令中直接使用。环境变量会被持久保存到镜像创建的任何容器中。可使用docker run命令行的-e标志来传递环境变量,这样的变量只在运行时有效。
5、USER
指定镜像以什么样的用户运行,不指定默认为root。可指定用户名或UID以及组或GID,甚至是两者的组合。
6 VOLUME
向基于镜像创建的容器添加卷.卷是可存在于一个或多个容器内的特定目录,卷可以在容器间共享和重用,卷会一直存在直到没有任何容器使用它.
 

你可能感兴趣的:(Dockerfile指令)