docker退出容器而不關(guān)閉容器的兩種方法:1、按“Ctrl+P+Q”按鈕退出容器,即可正常退出不關(guān)閉容器;2、exit退出可以利用“docker restart”命令重啟容器、attach命令進(jìn)入容器后,重啟httpd和radosgw,并且使用wget驗(yàn)證是否將radosgw重啟成功即可。
本教程操作環(huán)境:linux7.3系統(tǒng)、docker19.03版、Dell G3電腦。
docker怎么退出容器而不關(guān)閉容器
方法一:如果要正常退出不關(guān)閉容器,請(qǐng)按Ctrl+P+Q進(jìn)行退出容器
以下示例為退出容器但不關(guān)閉容器
方法二:如果使用exit退出,那么在退出之后會(huì)關(guān)閉容器,可以使用下面的流程進(jìn)行恢復(fù)
-
使用docker restart命令重啟容器
-
使用docker attach命令進(jìn)入容器
-
重啟httpd(service httpd restart)和radosgw(/etc/init.d/ceph-radosgw restart),并且使用wget驗(yàn)證是否將radosgw重啟成功
擴(kuò)展知識(shí)
事實(shí)上我們可以在啟動(dòng)容器的時(shí)候就進(jìn)行配置,加入-d參數(shù)來啟動(dòng)容器,當(dāng)然,這條命令僅限于啟動(dòng)全新的容器,啟動(dòng)關(guān)閉的容器是不可以的。
docker run -d: 后臺(tái)運(yùn)行容器,并返回容器ID
以下示例為使用docker -d啟動(dòng)容器并退出
在這里你可能會(huì)發(fā)現(xiàn),使用了-d的命令退出后容器依然還是死了,動(dòng)手型的朋友可能會(huì)發(fā)現(xiàn)只是用docker run -d去啟動(dòng)容器也一樣是死的
這里其實(shí)需要了解的是容器的運(yùn)行機(jī)制,Docker容器在后臺(tái)運(yùn)行,必須要有一個(gè)前臺(tái)進(jìn)程,這里我們讓容器有前臺(tái)程序運(yùn)行,就可以實(shí)現(xiàn)容器的-d 啟動(dòng)后存活
我這里使用nohup在后臺(tái)運(yùn)行一個(gè)每1000秒ping一次百度的進(jìn)程,另外你也可以使用”while true; do echo hello world; sleep 1; done”,無(wú)限輸出hello world。
另外即便是有進(jìn)程在后臺(tái)運(yùn)行,你進(jìn)入了容器,輸入exit退出,依然會(huì)終止容器的運(yùn)行,請(qǐng)謹(jǐn)記。
推薦學(xué)習(xí):《docker視頻教程》