3 ответов:
Это очень важный вопрос и ответ очень простой, но фундаментальный:
- выполнить: создайте новый контейнер образа и выполните контейнер. Вы можете создать N клонов одного и того же изображения. Команда:
docker run IMAGE_ID, а неdocker run CONTAINER_ID
- Start: запуск контейнера, ранее остановленного. Например, если вы остановили базу данных с помощью команды
docker stop CONTAINER_ID, вы можете перезапустите тот же контейнер с помощью командыdocker start CONTAINER_ID, и данные и настройки будут одинаковыми.
runработает изображенияstartначинается с контейнер.The
docker rundoc не упоминается:The
docker runкоманда сначала создает записываемый слой контейнера поверх указанного изображения, а затем запускает его с помощью указанной команды.то есть docker run эквивалентен API
/containers/createзатем/containers/(id)/start.вы не запускайте существующий контейнер, вы docker exec к нему (начиная с docker 1.3).
Вы можете перезапустить вышедший контейнер.
объяснение с примера:
считайте, что у вас есть изображение игры (iso) на вашем компьютере.
когда вы "запускаете" (монтируете свой образ как виртуальный диск), создается виртуальный диск со всем содержимым игры на виртуальном диске, и файл установки игры автоматически запускается. [Запуск образа docker-создание контейнера, а затем его запуск.]
но когда вы "останавливаете" (подобно docker stop), виртуальный диск все еще существует, но остановка всех процессов. [Поскольку контейнер существует до тех пор, пока он не будет удален]
и когда вы делаете "пуск" (подобно docker start), с виртуального диска файлы игр начинают свое выполнение. [запуск существующего контейнера]
в этом примере - образ игры-это ваш образ Docker, а виртуальный диск-ваш контейнер


Comments