Docker如何实现退出容器不关闭容器
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家分享的是有关Docker如何实现退出容器不关闭容器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。进入docker容器后如果退出容器,容器就会变成Exited的
千家信息网最后更新 2025年02月01日Docker如何实现退出容器不关闭容器
这篇文章给大家分享的是有关Docker如何实现退出容器不关闭容器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
进入docker容器后如果退出容器,容器就会变成Exited的状态,那么如何退出容器让容器不关闭呢?
如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器,这一点很重要,请牢记!
以下示例为退出容器但不关闭容器
[root@localhost ~]# docker attach c600c4519fc8[root@c600c4519fc8 /]# exitexit[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESc600c4519fc8 centos "/bin/bash" 3 hours ago Exited (0) 1 second ago pensive_jackson5a7a0d694651 busybox "sh" 20 hours ago Exited (0) 20 hours ago hungry_vaughan4b0296d18849 hello-world "/hello" 46 hours ago Exited (0) 46 hours ago hopeful_yonath[root@localhost ~]# docker start pensive_jacksonpensive_jackson[root@localhost ~]# docker attach c600c4519fc8Ctrl + P + Q [root@c600c4519fc8 /]# read escape sequence[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESc600c4519fc8 centos "/bin/bash" 3 hours ago Up 22 seconds pensive_jackson5a7a0d694651 busybox "sh" 20 hours ago Exited (0) 20 hours ago hungry_vaughan4b0296d18849 hello-world "/hello" 46 hours ago Exited (0) 46 hours ago hopeful_yonath
事实上我们可以在启动容器的时候就进行配置,加入-d参数来启动容器,当然,这条命令仅限于启动全新的容器,启动关闭的容器是不可以的。
Tips 1
docker run -d: 后台运行容器,并返回容器ID
以下示例为使用docker -d启动容器并退出
[root@localhost ~]# docker run -i -t -d centos /bin/bash8521b11d5d99535d4cb0080adc5a58a4dd018ecd0751d9945f7da7ab01bec330[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8521b11d5d99 centos "/bin/bash" 4 seconds ago Up 4 seconds eager_goldwasserc600c4519fc8 centos "/bin/bash" 3 hours ago Exited (0) 28 seconds ago pensive_jackson5a7a0d694651 busybox "sh" 20 hours ago Exited (0) 20 hours ago hungry_vaughan4b0296d18849 hello-world "/hello" 46 hours ago Exited (0) 46 hours ago hopeful_yonath[root@localhost ~]# docker attach 8[root@8521b11d5d99 /]# uname -r3.10.0-514.el7.x86_64[root@8521b11d5d99 /]# exitexit[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8521b11d5d99 centos "/bin/bash" 2 minutes ago Exited (0) 2 seconds ago eager_goldwasserc600c4519fc8 centos "/bin/bash" 3 hours ago Exited (0) 2 minutes ago pensive_jackson5a7a0d694651 busybox "sh" 20 hours ago Exited (0) 20 hours ago hungry_vaughan4b0296d18849 hello-world "/hello" 46 hours ago Exited (0) 46 hours ago hopeful_yonath
在这里你可能会发现,使用了-d的命令退出后容器依然还是死了,动手型的朋友可能会发现只是用docker run -d去启动容器也一样是死的
这里其实需要了解的是容器的运行机制,Docker容器在后台运行,必须要有一个前台进程,这里我们让容器有前台程序运行,就可以实现容器的-d 启动后存活
[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESc600c4519fc8 centos "/bin/bash" 3 hours ago Exited (0) 4 minutes ago pensive_jackson5a7a0d694651 busybox "sh" 21 hours ago Exited (0) 21 hours ago hungry_vaughan4b0296d18849 hello-world "/hello" 47 hours ago Exited (0) 47 hours ago hopeful_yonath[root@localhost ~]# docker run -d centos /bin/bash -c "nohup ping -i 1000 www.baidu.com"8aa19c9604382bc019797ccda831ae1bcebd81d86380b6040d636e03000b440a[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8aa19c960438 centos "/bin/bash -c 'nohup…" 2 seconds ago Up 2 seconds adoring_wingc600c4519fc8 centos "/bin/bash" 3 hours ago Exited (0) 5 minutes ago pensive_jackson5a7a0d694651 busybox "sh" 21 hours ago Exited (0) 21 hours ago hungry_vaughan4b0296d18849 hello-world "/hello" 47 hours ago Exited (0) 47 hours ago hopeful_yonath
我这里使用nohup在后台运行一个每1000秒ping一次百度的进程,另外你也可以使用"while true; do echo hello world; sleep 1; done",无限输出hello world。
另外即便是有进程在后台运行,你进入了容器,输入exit退出,依然会终止容器的运行,请谨记。
Ctrl+P+Q依然是我认为的最佳用法。
感谢各位的阅读!关于"Docker如何实现退出容器不关闭容器"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
容器
运行
后台
进程
内容
前台
命令
更多
示例
篇文章
不错
实用
重要
事实
事实上
全新
参数
只是
文章
时候
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
镇江市网络安全警察好吗
莱城软件开发入门课程哪家好
京东云服务器密码机
人员通信设备网络安全手册
战地3服务器网址
外网访问内网服务器的安全
如何做云端网络安全
电子类软件开发专业
榆树智能化网络技术售后服务
平度安卓软件开发外包公司
连接数据库怎么导入驱动包
网络安全整体防御能力
杭州云象网络技术上市
计算机网络技术三级例题
哪家软件开发待遇高
本地数据库没法连接到项目
ntd网络运维和网络安全
数据库游戏
滴滴网络安全专家
网络安全事件 有哪些内容
广州十分网络技术有限公司官网
服务器数据返回需要经过网关吗
云锦天网络技术服务有限公司
pkpm怎么导入测量数据库
中草药绘画软件开发
京东运营服务器是什么意思
胶囊网络技术
软件开发风险评估的标准
买服务器域名
迷你玩家炸的都是哪个服务器