dockerfile文件ADD指令是用于指定默认的容器主进程的启动命令。Docker 不是虚拟机,容器就是进程。既然是进程,那么在启动容器的时候,需要指定所运行的程序及参数。
语法格式
shell 格式:CMD 命令
exec 格式:CMD [可执行文件, 参数1, 参数2…]
参数列表格式:CMD [参数1, 参数2…]。在指定了 ENTRYPOINT 指令后,用 CMD 指定具体的参数。
docker在运行时可以指定新的命令来替代镜像设置中的这个默认命令,比如,ubuntu 镜像默认的 CMD 是 /bin/bash,如果我们直接 docker run -it ubuntu 的话,会直接进入 bash。我们也可以在运行时指定运行别的命令,如 docker run -it ubuntu cat /etc/os-release。这就是用 cat /etc/os-release 命令替换了默认的 /bin/bash 命令了,输出了系统版本信息。
在指令格式上,一般推荐使用 exec 格式,这类格式在解析时会被解析为 JSON 数组,因此一定要使用双引号 ,而不要使用单引号。
如果使用 shell 格式的话,实际的命令会被包装为 sh -c 的参数的形式进行执行。比如:
CMD echo $HOME
在实际执行中,会将其变更为:
CMD [ sh, -c, echo $HOME ]
这就是为什么我们可以使用环境变量的原因,因为这些环境变量会被 shell 进行解析处理。
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码官网:www.west.cn