亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Docker容器將在“docker run -d”后自動停止

Docker容器將在“docker run -d”后自動停止

慕后森 2019-08-15 14:13:44
Docker容器將在“docker run -d”后自動停止根據我到目前為止閱讀的教程,使用“ docker run -d”將從圖像啟動一個容器,容器將在后臺運行。這就是它的樣子,我們可以看到我們已經有了容器ID。root@docker:/home/root# docker run -d centos605e3928cdddb844526bab691af51d0c9262e0a1fc3d41de3f59be1a58e1bd1d但如果我跑“ docker ps”,則沒有任何回復。所以我試過“ docker ps -a”,我可以看到容器已經退出:root@docker:/home/root# docker ps -aCONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                         PORTS               NAMES605e3928cddd        centos:latest         "/bin/bash"         31 minutes ago      Exited (0) 31 minutes ago                          kickass_swartz我做錯了什么?我該如何解決這個問題?
查看完整描述

3 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

根據這個答案,添加-t標志將阻止容器在后臺運行時退出。然后,您可以使用docker exec -i -t <image> /bin/bash進入shell提示符。


docker run -t -d <image> <command>

似乎-t選項沒有很好地記錄,盡管幫助說它“分配了一個偽TTY”。


查看完整回答
反對 回復 2019-08-15
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

背景

Docker容器運行一個使其保持活動狀態的進程(“命令”或“入口點”)。只要命令繼續運行,容器將繼續運行。

在您的情況下,命令(/bin/bash默認情況下,打開centos:latest)立即退出(正如bash沒有連接到終端并且無法運行時)。

通常,當您以守護進程模式運行容器(with -d)時,容器正在運行某種守護進程(如httpd)。在這種情況下,只要httpd守護程序正在運行,容器將保持活動狀態。

您似乎要做的是在容器內運行守護程序進程的情況下保持容器的活動狀態。這有點奇怪(因為容器在你與它交互之前沒有做任何有用的事情,可能還有docker exec),但在某些情況下,做這樣的事情可能是有意義的。

(你的意思是在容器內找到一個bash提示符嗎?這很容易!docker run -it centos:latest

在容器模式下無限期地保持容器活動的一種簡單方法是sleep infinity作為容器的命令運行。這并不依賴于在守護進程模式下分配TTY等奇怪的事情。雖然它依賴于做一些奇怪的事情,比如使用sleep你的主要命令。

$ docker run -d centos:latest sleep infinity$ docker psCONTAINER ID  IMAGE         COMMAND          CREATED       STATUS       PORTS NAMESd651c7a9e0ad  centos:latest "sleep infinity" 2 seconds ago Up 2 seconds       nervous_visvesvaraya

替代方案

如cjsimon所示,該-t選項分配“偽tty”。這會讓bash繼續無限期地運行,因為它認為它連接到交互式TTY(即使你沒有通過也無法與特定的TTY交互-i)。無論如何,這應該也可以解決問題:

$ docker run -t -d centos:latest

不是100%肯定是否-t會產生其他奇怪的互動; 如果有,可以在下面留言。


查看完整回答
反對 回復 2019-08-15
  • 3 回答
  • 0 關注
  • 12636 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號