主頁 > 知識庫 > 詳解Docker退出容器不關(guān)閉容器的方法

詳解Docker退出容器不關(guān)閉容器的方法

熱門標(biāo)簽:云會外呼系統(tǒng) 智能電話機器人坐席 外呼系統(tǒng)不彈窗 柳州市機器人外呼系統(tǒng)報價 安陽ai電銷機器人軟件 外呼系統(tǒng)的經(jīng)營范圍 涪陵商都400電話開通辦理 廈門營銷外呼系統(tǒng)平臺 申請400電話價格多少

進入docker容器后如果退出容器,容器就會變成Exited的狀態(tài),那么如何退出容器讓容器不關(guān)閉呢?

如果要正常退出不關(guān)閉容器,請按Ctrl+P+Q進行退出容器,這一點很重要,請牢記!

以下示例為退出容器但不關(guān)閉容器

[root@localhost ~]# docker attach c600c4519fc8
[root@c600c4519fc8 /]# exit
exit
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS          PORTS        NAMES
c600c4519fc8    centos       "/bin/bash"     3 hours ago     Exited (0) 1 second ago            pensive_jackson
5a7a0d694651    busybox       "sh"        20 hours ago    Exited (0) 20 hours ago            hungry_vaughan
4b0296d18849    hello-world     "/hello"      46 hours ago    Exited (0) 46 hours ago            hopeful_yonath
[root@localhost ~]# docker start pensive_jackson
pensive_jackson
[root@localhost ~]# docker attach c600c4519fc8

Ctrl + P + Q 

[root@c600c4519fc8 /]# read escape sequence
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS          PORTS        NAMES
c600c4519fc8    centos       "/bin/bash"     3 hours ago     Up 22 seconds                 pensive_jackson
5a7a0d694651    busybox       "sh"        20 hours ago    Exited (0) 20 hours ago            hungry_vaughan
4b0296d18849    hello-world     "/hello"      46 hours ago    Exited (0) 46 hours ago            hopeful_yonath

事實上我們可以在啟動容器的時候就進行配置,加入-d參數(shù)來啟動容器,當(dāng)然,這條命令僅限于啟動全新的容器,啟動關(guān)閉的容器是不可以的。

Tips 1

docker run -d: 后臺運行容器,并返回容器ID

以下示例為使用docker -d啟動容器并退出

[root@localhost ~]# docker run -i -t -d centos /bin/bash
8521b11d5d99535d4cb0080adc5a58a4dd018ecd0751d9945f7da7ab01bec330
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
8521b11d5d99    centos       "/bin/bash"     4 seconds ago    Up 4 seconds                  eager_goldwasser
c600c4519fc8    centos       "/bin/bash"     3 hours ago     Exited (0) 28 seconds ago            pensive_jackson
5a7a0d694651    busybox       "sh"        20 hours ago    Exited (0) 20 hours ago             hungry_vaughan
4b0296d18849    hello-world     "/hello"      46 hours ago    Exited (0) 46 hours ago             hopeful_yonath
[root@localhost ~]# docker attach 8
[root@8521b11d5d99 /]# uname -r
3.10.0-514.el7.x86_64
[root@8521b11d5d99 /]# exit
exit
[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
8521b11d5d99    centos       "/bin/bash"     2 minutes ago    Exited (0) 2 seconds ago            eager_goldwasser
c600c4519fc8    centos       "/bin/bash"     3 hours ago     Exited (0) 2 minutes ago            pensive_jackson
5a7a0d694651    busybox       "sh"        20 hours ago    Exited (0) 20 hours ago            hungry_vaughan
4b0296d18849    hello-world     "/hello"      46 hours ago    Exited (0) 46 hours ago            hopeful_yonath

在這里你可能會發(fā)現(xiàn),使用了-d的命令退出后容器依然還是死了,動手型的朋友可能會發(fā)現(xiàn)只是用docker run -d去啟動容器也一樣是死的

這里其實需要了解的是容器的運行機制,Docker容器在后臺運行,必須要有一個前臺進程,這里我們讓容器有前臺程序運行,就可以實現(xiàn)容器的-d 啟動后存活

[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
c600c4519fc8    centos       "/bin/bash"     3 hours ago     Exited (0) 4 minutes ago            pensive_jackson
5a7a0d694651    busybox       "sh"        21 hours ago    Exited (0) 21 hours ago            hungry_vaughan
4b0296d18849    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 -a
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS           PORTS        NAMES
8aa19c960438    centos       "/bin/bash -c 'nohup…"  2 seconds ago    Up 2 seconds                  adoring_wing
c600c4519fc8    centos       "/bin/bash"       3 hours ago     Exited (0) 5 minutes ago            pensive_jackson
5a7a0d694651    busybox       "sh"           21 hours ago    Exited (0) 21 hours ago            hungry_vaughan
4b0296d18849    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退出,依然會終止容器的運行,請謹(jǐn)記。

Ctrl+P+Q依然是我認(rèn)為的最佳用法。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:福州 晉城 蕪湖 孝感 撫順 巴中 南充 綏化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Docker退出容器不關(guān)閉容器的方法》,本文關(guān)鍵詞  詳解,Docker,退出,容器,不,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解Docker退出容器不關(guān)閉容器的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解Docker退出容器不關(guān)閉容器的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章