Docker: Выполнение Команд в Контейнере

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

Если Docker-контейнер остановлен, перед выполнением команды docker exec он должен быть запущен с помощь команды docker run.

В этой короткой заметке я покажу примеры того, как выполнять команды в Docker-контейнерах.

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

Выполнение Команд в Docker-контейнере

Для выполнения команды в уже запущенном контейнере, используйте команду docker exec:

$ docker exec -it <container> <command>

— пример —

$ docker ps
CONTAINER ID  IMAGE         COMMAND         CREATED     STATUS    PORTS   NAMES
df51f67134f2  nginx:latest  "/docker-e..."  5 mins ago  Up 5 min  80/tcp  nginx

$ docker exec -it 067f66a99dff nginx -v
nginx version: nginx/1.17.10

Если необходимый Docker-контейнере остановлен, его предварительно следует запустить из соответствующего образа с помощью команды docker run:

$ docker run -dt <image>
$ docker exec -it <container> <command>

— пример —

$ docker run -dt alpine:latest
c7d42807e9c083f3cf88fea7ec476ad86525ac2b9dfc816fd75bfb150d4c8920

$ docker ps
CONTAINER ID  IMAGE          COMMAND    CREATED    STATUS      PORTS   NAMES
c7d42807e9c0  alpine:latest  "/bin/sh"  1 sec ago  Up 1 sec            alpine

$ docker exec -it c7d42807e9c0 cat /etc/alpine-release
3.11.6
Опция Описание
-i, --interactive Держать STDIN открытым
-t, --tty Эмулировать терминал (pseudo-TTY)
-d, --detach Запустить контейнер в фоновом режиме (detached mode)

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