Докер запустить против создания
в чем разница между docker run
и docker create
команды?
Я обычно использую run
но иногда в документации я вижу create
.
настройки по --help
говорит
create Create a new container
run Run a command in a new container
значит ли это, что run
используется, когда нам нужно передать команду на новый контейнер? Какова цель create
тогда?
6 ответов:
от Docker документация
команда docker create создает записываемый слой контейнера поверх указанный образ и подготавливает его к выполнению указанной команды. Этот идентификатор контейнера затем печатается в STDOUT. Это похоже на docker run -д за исключением того, что контейнер никогда не запускается. Затем вы можете использовать команду docker start для запуска контейнера в любой момент.
Это полезное когда вы хотите создать контейнер конфигурация вперед времени так, что он готов, когда вам это необходимо. Инициал создается состояние нового контейнера.
docker create
команда создает записываемый контейнер из образа и подготавливает его к запуску.
docker run
команда создает контейнер (так же, какdocker create
)и начинается.
Я новичок в docker и только что собрался играть с ним;
мое мнение заключается в том, что docker run по сути делает следующее: (в порядке..)docker create,docker start,docker attach, так как он сразу же присоединяется к активной оболочке после того, как вы сделаете 'run'.
другие ответы были покрыты этим, но я думал, что покажу эквивалентные командные строки оболочки, потому что это действительно ясно:
$ docker run myimage
это то же самое, что
$ docker start -a $(docker create myimage)
здесь
docker create
используется для создания контейнера из именованного изображения и выводит созданный контейнер с ID иdocker start
используется для запуска контейнера с этим идентификатором. Элемент-a
опция заставляет терминал присоединяться так, чтобы контейнер выполнялся на переднем плане, который является поведение по умолчаниюdocker run
.контейнер, который был создан, но не начал есть
Created
статус; это можно увидеть сdocker container ls -a
.
Docker run в основном для выполнения команд в контейнере.
docker run -it <Container Name> /bin/bash
выше для создания терминала bash. И заставьте нас использовать команды bash в контейнере.
Docker create это создание контейнера из образа Docker.
docker create -d /var/lib:/var/lib --name docker-ubuntu ubuntu
выше стоит создать докер контейнер с именем " docker-ubuntu "из образа"ubuntu"