Docker совет №38: Топ-10 опций команды docker run
Sep 13, 2018 07:02 · 358 words · 2 minute read
Консольная команда docker run
имеет около сотни опций, в том числе -d
, -i
, -t
, -v
и -w
. В данной статье рассмотрим десять наиболее популярных опций, с которыми наверняка придется работать. Давайте разберемся!
Пример команды с опциями, которые будут рассмотрены в данной статье:
docker run \
--rm \
--detach \
--env KEY=VALUE \
--ip 10.10.9.75 \
--publish 3000:3000 \
--volume my_volume \
--name my_container \
--tty --interactive \
--volume /my_volume \
--workdir /app \
IMAGE bash
Начнем с азов. Консольная команда docker run
создает из docker-образа контейнер (точнее создает доступный для записи слой поверх слоев, содержащихся в docker-образе) и запускает его (выполняет указанную команду). В общем виде это выглядит так:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Команда docker run
очень похожа на комбинацию команд docker create ...
и docker start ...
, подробнее о которых можно узнать в официальной документации.
Топ-10 опций команды docker run
в алфавитном порядке.
-
--detach
,-d
- по умолчанию, docker-контейнер запускается присоединенным (attached) к стандартным потокам ввода-вывода. Параметр-d
,--detach
позволяет запускать контейнер в фоне и не выводить на экран содержимое потоков ввода-вывода. -
--entrypoint
- устанавливает или переопределяет используемую по умолчанию команду (и параметры) из docker-образа. Подробнее оDocker ENTRYPOINT
можно узнать здесь. -
--env
,-e
- устанавливает переменные окружения в формате пар КЛЮЧ=ЗНАЧЕНИЕ. Если у вас есть список переменных окружения в файле, тогда необходимо использовать опцию--env-file
. -
--ip
- назначает docker-контейнеру IP-адрес, например,--ip=10.10.9.75
. -
--name
- назначает docker-контейнеру имя (--name my-super-container
). -
--publish
,-p
или--publish-all
,-P
- сопоставляет порт(ы) docker-контейнера порту(ам) на хост системе. Стоит отметить, что--publish-all
откроет доступ к портам, описанным в Dockerfile с помощью директивы EXPOSE. -
--rm
- автоматически удалить контейнер после завершения его работы (в том числе, при завершении с ошибкой). -
--tty
,-t
- назначает псевдо-TTY, подключенный к STDIN контейнера. Зачастую используется с опцией--interactive
,-i
- например, если вам нужно подключиться к оболочке (bash) внутри docker-контейнера для выполнения каких-то действий. -
--volume
,-v
- монтирование тома. Подробнее о томах можно почитать здесь. -
--workdir
,-w
- устанавливает рабочую директорию внутри docker-контейнера. Например, если вы скопировали некие файлы в папкуapp
контейнера, то вполне разумно будет установить этот каталог в качестве рабочей директории.
Больше полезных опций команды docker run
можно найти в официальной документации.