[英]Ubuntu docker running docker
我有以下docker-compose
文件:
version: '2'
services:
ubuntu:
image: 'ubuntu:16.04'
ports:
- '22:22'
啟動時,容器似乎崩潰,以下是我看到的日志:
Attaching to playground_ubuntu_1
ubuntu_1 | Error grabbing logs: EOF
playground_ubuntu_1 exited with code 0
我的主機操作系統是Ubuntu 16.04, Docker version 17.12.0-ce, build c97c6d6
。
我的所有其他容器似乎都正常啟動,但是這個容器在啟動時無法啟動。
日志playground_ubuntu_1 exited with code 0
狀態playground_ubuntu_1 exited with code 0
表示其預期。 為了使容器長時間運行並運行,您需要為容器提供/定義前台進程。 我暫時編輯了你的撰寫文件 -
version: '2'
services:
ubuntu:
image: 'ubuntu:16.04'
ports:
- '22:22'
command: "tail -f /dev/null"
現在你運行它 -
$ docker-compose up -d && docker ps
您的容器現在正在運行。
這個是正常的。 當您啟動容器時,只要容器內的主進程仍在運行,它就會運行。
使用Dockerfile中的CMD
命令指定此過程。 ubuntu映像沒有CMD
因為它旨在用作其他docker映像的構建塊。 因此,當您在未指定命令的情況下運行此圖像時,它會從0退出代碼中看出,它會退出成功。
如果您希望此圖像僅用於測試,則可以指定一個可以使其保持活動的命令。
version: '2'
services:
ubuntu:
image: 'ubuntu:16.04'
ports:
- '22:22'
command: "tail -f /dev/null"
您很可能已在主機上使用端口22
。 嘗試將容器22
端口綁定到主機上的另一個端口,例如2222
version: '2'
services:
ubuntu:
image: 'ubuntu:16.04'
ports:
- '2222:22'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.