На практике запустить контейнер, который я делаю:
docker run a8asd8f9asdf0
Если это так, что делает:
docker start
делать?
В руководстве написано
Запустите один или несколько остановленных контейнеров.
На практике запустить контейнер, который я делаю:
docker run a8asd8f9asdf0
Если это так, что делает:
docker start
делать?
В руководстве написано
Запустите один или несколько остановленных контейнеров.
Это очень важный вопрос, и ответ очень простой, но фундаментальный:
docker run IMAGE_ID а не docker run IMAGE_ID docker run CONTAINER_IDdocker stop CONTAINER_ID, вы можете перезапустить тот же контейнер с помощью команды docker start CONTAINER_ID, и данные и настройки будут такими же.run запускает изображениеstart запускает контейнер. docker run doc упоминает:
Команда
docker runсначала создает загружаемый слой контейнера над указанным изображением, а затем запускает его с помощью указанной команды.То есть, запуск docker эквивалентен API
/containers/create, а затем/containers/(id)/start.
Вы не запускаете существующий контейнер, вы используете docker exec (начиная с docker 1.3).
Вы можете перезапустить завершенный контейнер.
Пояснение с примером:
Предположим, у вас есть изображение игры (iso) на вашем компьютере.
Когда вы run (монтируете свой образ как виртуальный диск), создается виртуальный диск со всем содержимым игры на виртуальном диске, и автоматически запускается установочный файл игры. [Запуск вашего образа докера - создание контейнера и его запуск.]
Но когда вы stop (подобно остановке Docker) его, виртуальный диск все еще существует, но останавливает все процессы. [Поскольку контейнер существует до тех пор, пока он не будет удален]
И когда вы start (аналогично запуску Docker), с виртуального диска запускаются файлы игр. [запуск существующего контейнера]
В этом примере - образ игры - это ваш образ Docker, а виртуальный диск - ваш контейнер.
Если вы задаете этот вопрос, то базовая концепция изображений и слоев для создания этих изображений не ясна.
Сначала прочитайте ответы на эту ссылку в которой суммируются различия между слоями и изображениями
Как только вы получите эту концепцию, вы сможете лучше понять отличный, но высокий уровень ответа VonC выше.
daniele3004 ответ уже довольно хорош.
Просто быстрая и грязная формула для таких людей, как я, кто смешивает run и start время от времени:
docker run [...]= docker pull [...] + docker start [...]