в docker, tips

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


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

Добавить комментарий