run (Запуск контейнера)
Описание:
Команда docker run
используется для запуска нового контейнера на основе образа. Под капотом она сочетает в себе docker create
и docker start
. Поддерживает множество флагов для настройки запуска.
Флаг -d
/ --detach
– фоновый режим
Структура команды:
Описание:
Запускает контейнер в фоновом режиме. Управлять им можно через docker ps
, docker logs
, docker stop
и т.д.
Пример:
Флаг --name
– имя контейнера
Структура команды:
Описание:
Позволяет явно задать имя контейнеру. Без этого Docker присвоит случайное имя.
Пример:
Флаг -p
/ --publish
– проброс портов
Структура команды:
Описание:
Пробрасывает порт из контейнера на хост. Удобно для доступа к веб-сервисам, работающим внутри контейнера.
Пример:
Флаг -e
/ --env
– переменные окружения
Структура команды:
Описание:
Передаёт переменные окружения в контейнер. Часто используется для настройки приложений внутри.
Пример:
Флаг --rm
– удаление после остановки
Структура команды:
Описание:
Удаляет контейнер сразу после его завершения. Полезно для временных задач или CLI-инструментов.
Пример:
Флаг -v
/ --volume
– монтирование томов
Структура команды:
Описание:
Позволяет монтировать папки или файлы хоста внутрь контейнера. Используется для сохранения данных.
Пример:
Флаг --network
– выбор сети
Структура команды:
Описание:
Запускает контейнер в заданной сети. Полезно для взаимодействия между контейнерами.
Пример:
Флаг --entrypoint
– переопределение entrypoint
Структура команды:
Описание:
Позволяет переопределить ENTRYPOINT
, указанный в Dockerfile.
Пример:
Флаг --workdir
– рабочая директория
Структура команды:
Описание:
Устанавливает рабочую директорию внутри контейнера (аналог WORKDIR
в Dockerfile). Все команды будут выполняться из этой директории.
Пример:
Флаг --restart
– политика перезапуска
Структура команды:
Описание:
Настраивает поведение контейнера при сбоях или перезапуске Docker.
Доступные значения:
- no
(по умолчанию)
- on-failure[:max-retries]
- always
- unless-stopped
Пример:
Флаг -i
и -t
– интерактивный терминал
Структура команды:
Описание:
Флаги -i
(интерактивный режим) и -t
(TTY) обычно используются вместе для работы с контейнером в терминале, как будто ты в SSH.
Пример:
Флаг --privileged
– привилегированный режим
Структура команды:
Описание:
Запускает контейнер с расширенными привилегиями. Даёт доступ ко всем устройствам хоста и системным возможностям ядра.
⚠️ Использовать только при необходимости. Подробнее см. run-security.md
Пример:
Флаги --log-driver
, --log-opt
– настройка логирования
Структура команды:
Описание:
Управление логированием контейнера. Можно указать драйвер логов (json-file
, syslog
, journald
, none
, и т.д.) и передать опции.
Пример:
📌 Дополнительные материалы:
- ⚙️ Лимиты ресурсов контейнера (
--cpus
,--memory
,--pids-limit
и др.) - 🛡️ Безопасность контейнера (
--cap-add
,--read-only
,--security-opt
) - 📦 Монтирование и работа с томами
- 🧩 Продвинутые флаги запуска