如何在后臺(tái)(脫離模式下)運(yùn)行Docker容器
譯文【51CTO.com快譯】在Docker下,映像開發(fā)人員可以定義與脫離前臺(tái)運(yùn)行的容器有關(guān)的映像默認(rèn)值以及其他有用的設(shè)置。但是,使用docker run [OPTIONS]命令,你可以添加或覆蓋開發(fā)人員設(shè)置的映像默認(rèn)值,因而更全面地控制容器的運(yùn)行方式。
我們?cè)诒疚闹袑⒑喴榻B運(yùn)行容器的前臺(tái)模式和后臺(tái)模式,并介紹如何在脫離模式下在后臺(tái)運(yùn)行Docker容器。
前臺(tái)模式(默認(rèn))與后臺(tái)/脫離模式
啟動(dòng)Docker容器之前,你先要確定想在默認(rèn)的前臺(tái)模式下運(yùn)行容器,還是在脫離模式下在后臺(tái)運(yùn)行容器。
在前臺(tái)模式下,Docker可以在容器中啟動(dòng)進(jìn)程,并將控制臺(tái)連接到進(jìn)程的標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤。
還有命令行選項(xiàng)來進(jìn)一步配置,比如-t可為進(jìn)程分配pseudo-tty,-i可保持STDIN打開,即使它沒有連接。你還可以使用-a=[value here]標(biāo)志,將它連接到一個(gè)或多個(gè)文件描述符(STDIN、STDOUT及/或STDERR)。
重要的是,--rm選項(xiàng)告訴Docker在退出時(shí)自動(dòng)刪除容器。該例子表明如何在前臺(tái)模式啟動(dòng)Docker容器:
- # docker run --rm -ti -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest
前臺(tái)模式下運(yùn)行容器的缺點(diǎn)是,你無法再訪問命令提示符,如上面的屏幕截圖所示。這意味著容器運(yùn)行時(shí)你無法運(yùn)行任何其他命令。
想在后臺(tái)運(yùn)行Docker容器,請(qǐng)使用-d=true選項(xiàng)或就使用-d選項(xiàng)。首先,按[Ctrl+C]阻止容器在前臺(tái)模式下運(yùn)行,然后在脫離模式下運(yùn)行,如下所示:
- # docker run -d --rm -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest
想列出所有容器,請(qǐng)運(yùn)行以下命令(默認(rèn)僅顯示運(yùn)行中的容器)。
- # docker ps -a
此外,想重新連接到脫離的容器,請(qǐng)使用docker attach命令。
- # docker attach --name pandorafms
或者
- # docker attach 301aef99c1f3
如果你想停止上述容器或其他任何正在運(yùn)行的容器,請(qǐng)使用以下命令(將301aef99c1f3換成實(shí)際的容器ID)。
- # docker stop 301aef99c1f3
原文標(biāo)題:Run Docker Container in Background (Detached Mode),作者:Aaron Kili
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】





























