Docker совет №38: Топ-10 опций команды docker run

Sep 13, 2018 07:02 · 358 words · 2 minute read docker

Консольная команда 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 в алфавитном порядке.

  1. --detach, -d - по умолчанию, docker-контейнер запускается присоединенным (attached) к стандартным потокам ввода-вывода. Параметр -d, --detach позволяет запускать контейнер в фоне и не выводить на экран содержимое потоков ввода-вывода.

  2. --entrypoint - устанавливает или переопределяет используемую по умолчанию команду (и параметры) из docker-образа. Подробнее о Docker ENTRYPOINT можно узнать здесь.

  3. --env, -e - устанавливает переменные окружения в формате пар КЛЮЧ=ЗНАЧЕНИЕ. Если у вас есть список переменных окружения в файле, тогда необходимо использовать опцию --env-file.

  4. --ip - назначает docker-контейнеру IP-адрес, например, --ip=10.10.9.75.

  5. --name - назначает docker-контейнеру имя (--name my-super-container).

  6. --publish, -p или --publish-all, -P - сопоставляет порт(ы) docker-контейнера порту(ам) на хост системе. Стоит отметить, что --publish-all откроет доступ к портам, описанным в Dockerfile с помощью директивы EXPOSE.

  7. --rm - автоматически удалить контейнер после завершения его работы (в том числе, при завершении с ошибкой).

  8. --tty, -t - назначает псевдо-TTY, подключенный к STDIN контейнера. Зачастую используется с опцией --interactive, -i - например, если вам нужно подключиться к оболочке (bash) внутри docker-контейнера для выполнения каких-то действий.

  9. --volume, -v - монтирование тома. Подробнее о томах можно почитать здесь.

  10. --workdir, -w - устанавливает рабочую директорию внутри docker-контейнера. Например, если вы скопировали некие файлы в папку app контейнера, то вполне разумно будет установить этот каталог в качестве рабочей директории.

Больше полезных опций команды docker run можно найти в официальной документации.

tweet Share