docker cmd

作者:原创时间:2022-06-08
文档

   

docker cmd是什么,让我们一起了解一下?

cmd给出的是一个容器的默认的可执行体。也就是容器启动以后,默认的执行的命令。重点就是这个“默认”。意味着,如果docker run没有指定任何的执行命令或者dockerfile里面也没有entrypoint,那么,就会使用cmd指定的默认的执行命令执行。同时也从侧面说明了entrypoint的含义,它才是真正的容器启动以后要执行命令。

cmd命令的一个角色定位,它主要作用是默认的容器启动执行命令。(注意不是“全部”作用)

我们知道,通过docker run 创建并启动一个容器时,命令的最后可以指定容器启动后在容器内立即要执行的指令,如:

docker run -i -t ubunu /bin/bash   //表示容器启动时立即在容器内打开一个shell终端

docker run ubuntu /bin/ps    //表示容器启动后立即运行 /bin/ps命令,显示容器的当前进程。

除了这种方式外,我们可以在dockerfile文件中通过CMD指令指定容器启动时要执行的命令。如:

#test
FROM ubuntu
MAINTAINER xxx
RUN echo hello1 > test1.txt
RUN echo hello2 > /test2.txt
EXPOSE 80
EXPOSE 81
CMD ["/bin/bash"]

上面dockerfile文件中最后一行CMD指令的参数是指定容器启动时要执行的命令,这里是bin/bash命令。

1、用docker run命令创建并启动容器(myimage  是用前面dockerfile创建的镜像的名称):

docker run -i -t myimage  

上面命令是创建并启动容器,打开一个交互式shell。 而以前的写法是

docker run -i -t myimage  /bin/bash

这样就省去了在docker run中写命令了。

2、即使dockerfile中有CMD指令,我们仍然可以在docker run命令中带上容器启动时执行的命令,这会覆盖dockerfile中的CMD指令指定的命令。如:

docker run -i -t myimage /bin/ps

上面命令,因为/bin/ps覆盖了CMD指令,启动容器时会打印容器内的当前进程,但容器会立即停止,因为/bin/bash被覆盖了,无法打开交互式shell界面。

以上就是小编的分享,希望可以帮助到大家。

显示全文
docker cp怎么用 docker cp如何用 如何查看docker日志 怎样查看docker日志 docker查看日志命令 docker如何查看日志命令 docker有自己的防火墙吗 docker有防火墙吗 docker怎么用 docker如何用 抖音妈妈我要吃烤山药是什么梗 次声波的特点 锡纸能放微波炉加热吗 怎么把360浏览器设为默认浏览器 微波炉能不能当烤箱用 金鱼如何养 怎样养殖十二卷 酒精湿巾可以带上飞机吗 自行车钢丝锁钥匙丢了怎么打开 360浏览器极速模式怎么开 蜂蜜有保质期吗 纸上谈兵的主人公 金钱龟怎么养才好 金婚银婚是多少年 自来水烧开可以喝吗 ui和gui的区别 ui设计师要懂什么 ui设计包括哪些 docker rpm docker git docker dns docker elk ui和视觉设计的区别 docker rm ui专业是什么专业 docker log ui设计全称 docker创建容器 docker go docker tag docker cpu 删除docker镜像 卸载docker 退出docker k8s docker