簡體   English   中英

Ubuntu碼頭工人運行碼頭

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM