Docker run vs create
В чем разница между командами docker run
и docker create
?
Я обычно использую run
, но иногда в документации вижу create
.
Docker --help
сообщает
create Create a new container
run Run a command in a new container
Означает ли это, что run
используется, когда нам нужно передать команду в новый контейнер? Какова цель create
тогда?
Ответы
Ответ 1
От docker документация
Команда create docker создает загружаемый контейнерный слой поверх и готовит его для запуска указанной команды. Идентификатор контейнера затем печатается в STDOUT. Это похожее на docker run-d , за исключением того, что контейнер никогда не запускается. Затем вы можете использовать команду запуска докера, чтобы запустить контейнер в любой точке.
Это полезно, когда вы хотите настроить конфигурацию контейнера впереди времени, чтобы он был готов к запуску, когда вам это нужно. Начальный будет создан статус нового контейнера.
Ответ 2
Технически, запуск docker run = docker create + docker start
Ответ 3
docker create
создает контейнер для записи из образа и готовит его для работы.
docker run
создает контейнер (такой же, как docker create
) и запускает его.