docker-启动守护式容器

本文探讨了Docker容器的启动方式,重点在守护式容器的使用。通过`docker run -d`命令启动的守护式容器,需要有前台进程以保持运行状态。当没有交互或前台任务时,容器可能会自动退出。通过运行如`top`或创建死循环的命令,可以确保容器持续运行。举例说明了如何创建一个后台运行并持续输出的守护式容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动容器的方式:交互式和非交互式/守护式

  • 启动交互式容器

  • 启动守护式容器:不需要交互,只要跑着执行就行了

启动交互式容器

docker run -it --name=interactive centos

 

启动守护式容器

docker run -d 

-d: 以后台运行的方式运行容器,返回容器id,也就是启动守护式容器

可以看出并没有进入交互式。若是进入交互式,用户变成root。

一般情况下,进程进入后台,前面看不到,但能够查到进程在运行中。

我运行了docker ps 查看当前正在运行的容器,却没有看到刚才启动的守护式容器,这就比较诡异了???

查看全部的进程,发现守护式容器已经退出了。

原因:

这是docker的机制,Docker容器后台运行,就必须有一个前台进程,也就是说刚才的守护容器自动退出了。

个人理解:前台要有一个交互,不然就会认为这个容器没啥事可做,就给关了

也有一些命令不会自动退出,像top, tail等

要想容器一直运行,最好将运行的容器以前台的形式运行。

看这种守护式容器

docker run -d --name=si_xun_huan centos /bin/sh -c "while true; do echo hello world; sleep 1;done"

后台运行一个死循环,且和前台有交互,因为不停的打印hello world,这种情况下,该容器就会一直运行。

 

从运行9s到44秒都没死

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值