Skip to content

run (Запуск контейнера)

Описание:
Команда docker run используется для запуска нового контейнера на основе образа. Под капотом она сочетает в себе docker create и docker start. Поддерживает множество флагов для настройки запуска.


Флаг -d / --detach – фоновый режим

Структура команды:

docker run -d [image]

Описание:
Запускает контейнер в фоновом режиме. Управлять им можно через docker ps, docker logs, docker stop и т.д.

Пример:

docker run -d nginx


Флаг --name – имя контейнера

Структура команды:

docker run --name [container_name] [image]

Описание:
Позволяет явно задать имя контейнеру. Без этого Docker присвоит случайное имя.

Пример:

docker run --name my_web nginx


Флаг -p / --publish – проброс портов

Структура команды:

docker run -p [host_port]:[container_port] [image]

Описание:
Пробрасывает порт из контейнера на хост. Удобно для доступа к веб-сервисам, работающим внутри контейнера.

Пример:

docker run -p 8080:80 nginx


Флаг -e / --env – переменные окружения

Структура команды:

docker run -e [KEY]=[VALUE] [image]

Описание:
Передаёт переменные окружения в контейнер. Часто используется для настройки приложений внутри.

Пример:

docker run -e APP_ENV=production my_app


Флаг --rm – удаление после остановки

Структура команды:

docker run --rm [image]

Описание:
Удаляет контейнер сразу после его завершения. Полезно для временных задач или CLI-инструментов.

Пример:

docker run --rm alpine echo "Hello!"


Флаг -v / --volume – монтирование томов

Структура команды:

docker run -v [host_path]:[container_path] [image]

Описание:
Позволяет монтировать папки или файлы хоста внутрь контейнера. Используется для сохранения данных.

Пример:

docker run -v /home/user/data:/app/data my_app


Флаг --network – выбор сети

Структура команды:

docker run --network [network_name] [image]

Описание:
Запускает контейнер в заданной сети. Полезно для взаимодействия между контейнерами.

Пример:

docker run --network my_net my_app


Флаг --entrypoint – переопределение entrypoint

Структура команды:

docker run --entrypoint [command] [image]

Описание:
Позволяет переопределить ENTRYPOINT, указанный в Dockerfile.

Пример:

docker run --entrypoint bash ubuntu


Флаг --workdir – рабочая директория

Структура команды:

docker run --workdir [path] [image]

Описание:
Устанавливает рабочую директорию внутри контейнера (аналог WORKDIR в Dockerfile). Все команды будут выполняться из этой директории.

Пример:

docker run --workdir /app ubuntu pwd


Флаг --restart – политика перезапуска

Структура команды:

docker run --restart [policy] [image]

Описание:
Настраивает поведение контейнера при сбоях или перезапуске Docker.
Доступные значения:
- no (по умолчанию)
- on-failure[:max-retries]
- always
- unless-stopped

Пример:

docker run --restart=always my_app


Флаг -i и -t – интерактивный терминал

Структура команды:

docker run -it [image]

Описание:
Флаги -i (интерактивный режим) и -t (TTY) обычно используются вместе для работы с контейнером в терминале, как будто ты в SSH.

Пример:

docker run -it ubuntu bash


Флаг --privileged – привилегированный режим

Структура команды:

docker run --privileged [image]

Описание:
Запускает контейнер с расширенными привилегиями. Даёт доступ ко всем устройствам хоста и системным возможностям ядра.

⚠️ Использовать только при необходимости. Подробнее см. run-security.md

Пример:

docker run --privileged --rm -it alpine sh


Флаги --log-driver, --log-opt – настройка логирования

Структура команды:

docker run --log-driver [driver] --log-opt [key]=[value] [image]

Описание:
Управление логированием контейнера. Можно указать драйвер логов (json-file, syslog, journald, none, и т.д.) и передать опции.

Пример:

docker run --log-driver json-file --log-opt max-size=10m my_app


📌 Дополнительные материалы: