Докер работает в автономном режиме - основной вопрос - PullRequest
0 голосов
/ 13 марта 2019

Я запускаю его в отдельном режиме,

docker run -d busybox:1.24

Но оно не отображается в docker ps

в чем причина? Разве это не должно работать?

Должен ли я передать «команду бега», как sleep 1000?

РЕДАКТИРОВАТЬ: похоже, что контейнер останавливается, когда нечего запускать.

Ответы [ 2 ]

1 голос
/ 13 марта 2019

Когда вы запустите docker ps, вы увидите только список контейнеров, которые работают .

Чтобы увидеть все контейнеры, включая те, которые остановлены, созданы, закрыты, перезапущены и т. Д., Вы должны использовать docker ps -a.

Контейнер busybox ничего не выполняет. Так что он просто выйдет, как только начнет.

Если вы выполните docker run -d busybox:1.24 sleep 10, а затем выполните docker ps, вы увидите работающий контейнер - до тех пор, пока не завершится процесс sleep (через 10 секунд). В этот момент вам нужно будет снова использовать docker ps -a.

0 голосов
/ 13 марта 2019

Зависит от того, что говорится в директивах CMD в вашем Dockerfile.Если вы не запустите скрипт или программу, которая работает непрерывно, контейнер просто сразу завершится.

Чтобы увидеть состояние контейнера: -a показывает даже вышедшие контейнеры

docker ps -a 

Чтобы увидеть, что произошло, когда он запустился

docker logs <container-id>

Чтобы запустить приглашение cmd

docker run -it <container-id> /bin/bash

Для запуска в отдельном режиме вам нужен скрипт или команда, которая будет ждать, например:

sleep infinite
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...