2015-09-14 54 views
4

我嘗試使用後,我與如何讓ubuntu鏡像保持運行?

sudo docker ps -a 

檢查以下命令

sudo docker run ubuntu 

啓動容器中,容器退出已經

它爲什麼退出?

我怎樣才能保持它在backgroud中運行,而不需要指定-it並在要求時附加它?

回答

9

由我自己解決,一個優雅的方式來保持容器中運行,並等待進一步的「附加」或「執行」是以下(保持STDIN通過-i開放選項)

sudo docker -i -d run ubuntu 
+0

要返回容器,它正在運行(因爲我每次都忘記):' docker exec -it [container_id_or_name] bash' – Brandon

0

正確的語法是

(從docker run --help

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

您忘記了指定的命令。

你應該看看泊塢窗樞紐

https://registry.hub.docker.com/

例如,對於nginx的,如果你看一下

https://hub.docker.com/_/nginx/

你會發現

docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx

如果你看看

https://github.com/nginxinc/docker-nginx/blob/7f3ef0927ec619d20181e677c97f991df0d7d446/Dockerfile

,你會發現,Dockerfile的最後一行是

CMD ["nginx", "-g", "daemon off;"]

這意味着,當你啓動泊塢窗圖像nginx的,隱含動作是啓動nginx。

0

如果你想在容器不存在,您必須使用-d參數

所以它看起來是這樣的:

docker run -d ubuntu 
+0

與-d測試還是退出 –

+0

你需要顯示輸出,如果你想要更多的幫助:)'搬運工PS -a' –

1

你需要開始贏得了泊塢窗運行命令的應用程序退出。

例子:

docker run -d --entrypoint '/bin/bash cat' ubuntu

+0

@Micheal這將返回來自守護程序錯誤「錯誤響應:無法啓動容器2bb0e1b79d10401023d4655 80dcc2bfa2f18d58cefed7d02c13ed879c8717f47:[8]系統錯誤:exec:「/ bin/bash cat」:stat/bin/bash cat:沒有這樣的文件或目錄「 –