Docker: Вход в Контейнер

Команда docker exec служит для выполнения команд внутри запущенных Docker-контейнеров.

С помощь данной команды существует возможность входа в уже запущенный Docker-контейнер и старта bash-сессии.

В этом посте я покажу как войти в Docker-контейнер и запустить в нем интерактивную оболочку bash.

Дельный Совет: Копирование файлов и папок между хостом и Docker-контейнерами! Читать Далее →

Как Войти В Docker-Контейнер

Чтобы узнать имя или ID контейнера, выполните команду docker ps:

$ docker ps
CONTAINER ID  IMAGE    COMMAND  CREATED      STATUS      PORTS  NAMES
72ca2488b353  my_image          X hours ago  Up X hours         my_container

Войдите в Docker-контейнер по имени или ID контейнера и запустите интерактивную оболочку bash:

$ docker exec -it 72ca2488b353 bash

Если внутри контейнера не удастся найти оболочку bash, вы увидите что-то вроде следующего сообщения:

oci runtime error: exec failed: container_linux.go:265: starting container process caused «exec: \»bash\»: executable file not found in $PATH»

В этом случае вы можете войти в Docker-контейнер и затупить простую оболочку sh:

$ docker exec -it 72ca2488b353 sh

Для входа в Docker-контейнер используются следующе опции:

Опция Описание
-i, --interactive Оставить STDIN открытым, даже если контейнер запущен в неприкрепленном режиме
-t, --tty Запустить псевдотерминал