Подтвердить что ты не робот

Docker - Контейнер не работает

Я полностью новичок в докере. Я попытался запустить закрытый контейнер, как показано ниже,

  • Я перечислил все доступные контейнеры, используя docker ps -a. В нем перечислены следующие, docker list all images
  • Я ввел следующие команды, чтобы запустить контейнер, который находится на выходе, и войти в терминал этого изображения.

    docker start 79b3fa70b51d  docker exec -it 79b3fa70b51d \bin\sh

  • Выбрасывает следующую ошибку.

    FATA[0000] Error response from daemon: Container 79b3fa70b51d is not running

Но когда я запускаю контейнер, используя docker start 79b3fa70b51d. Он выбрасывает идентификатор контейнера в качестве вывода, который является нормальным, если он работает нормально. Я не уверен, что вызывает эту ошибку. Любая идея о причинах и предложениях об этом будет очень полезна для меня. Спасибо заранее.

4b9b3361

Ответ 1

Контейнер 79b3fa70b51d, похоже, выполняет только echo.

Это означает, что он запускается, эхо и сразу же выходит.

Следующая команда docker exec не найдет ее запущенной, чтобы прикрепить себя к этому контейнеру и выполнить любую команду: это тоже поздно. Контейнер уже вышел.

Команда docker exec запускает новую команду в запущенном контейнере.

Команда, запущенная с использованием docker exec, будет запускаться только во время работы основного процесса контейнера (PID 1)

Ответ 2

По умолчанию контейнер докеры немедленно выйдет, если в контейнере нет какой-либо задачи.

Чтобы контейнер работал в фоновом режиме, попробуйте запустить его с аргументом --detach (или -d).

Примеры:

docker pull debian

docker run -t -d --name my_debian debian
e7672d54b0c2

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e7672d54b0c2        debian              "bash"              3 minutes ago       Up 3 minutes                            my_debian

#now you can execute command on the container
docker exec -it my_debian bash
[email protected]:/#