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