云计算核心技术Docker教程:Dockerfile文件CMD命令详解

Dockerfile文件ADD指令是用于指定默认的容器主进程的启动命令。Docker 不是虚拟机,容器就是进程。既然是进程,那么在启动容器的时候,需要指定所运行的程序及参数。

十余年的烟台网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整烟台建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“烟台网站设计”,“烟台网站推广”以来,每个客户项目都认真落实执行。

语法格式

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 进行解析处理。


文章标题:云计算核心技术Docker教程:Dockerfile文件CMD命令详解
文章路径:http://myzitong.com/article/cpjdoi.html