В чем разница между образом Docker и контейнером?

Иногда вам нужно будет сделать еще одно действие после изменения файла setup.py.

Как описано здесь , необходимо будет удалить пакет, если он установлен на «яйцах». Затем установите его снова, заставив easy_install дезактивировать архив с опцией «-Z» следующим образом (у меня была проблема с пакетом paramiko):

pip uninstall paramiko
easy_install -Z paramiko

713
задан Peter Mortensen 24 July 2018 в 07:03
поделиться

2 ответа

изображение является "снимком" контейнер . Можно сделать изображения из контейнера (новые "снимки"), и можно также запустить, новые контейнеры из изображения (инстанцируйте "снимка").

, Например, можно инстанцировать нового контейнера из базового изображения, выполнить некоторые команды в контейнере и затем создать снимки это как новое изображение. Затем можно выполнить 100 контейнеров из того нового изображения.

Другие вещи рассмотреть:

  • изображение сделано из слоев, и слои являются снимком "diffs" (поэтому при продвижении изображения только необходимо отправить "разность" в реестр).
  • А Dockerfile определяет некоторые команды сверху базового изображения, которое создает новые слои ("diffs") что результат в новом изображении ("снимок").
  • Теги изображения не являются просто тегами. Они - "полное имя" изображения ("repository:tag"). Если то же изображение имеет несколько имен, оно показывает многократно при выполнении docker images.
1
ответ дан 22 November 2019 в 21:19
поделиться

Я думаю, что лучше объяснить вначале.

предположим Вы выполняете команду docker run hello-world. Что происходит?

Это звонит докер CLI , который ответственен, чтобы взять команды Докера и преобразовать для вызова сервер Докера команды. Как только сервер Докера заставляет команду работать изображение , это проверяет погоду , кэш изображений содержит изображение с таким именем.

предположим привет мировые не делают существует. сервер Докера переходит в [1 118] Концентратор Докера (Концентратор докера является просто свободным репозиторием изображений), и спрашивает, эй Концентратор, Вы имеете изображение названный hello-world? Ответы концентратора - да, я делаю. Затем дайте его мне. И процесс загрузки запускается. Как только изображение Докера загружается, , сервер Докера помещает его в кэш изображений .

Поэтому, прежде чем мы объясним, каковы изображения Докера и контейнеры Докера, давайте запустимся с введения об операционной системе на Вашем компьютере и как это запускает программное обеспечение.

при выполнении, например, Chrome на компьютере, он называет операционную систему, сама операционная система называет ядро и спрашивает, эй я хочу запустить эту программу. Ядру удается петлять от Вашего жесткого диска.

Теперь предполагают, что у Вас есть две программы, Chrome и Node.js. Chrome требует, чтобы версия 2 Python работала, и Node.js требует, чтобы версия 3 Python работала. Если Вы только установили Python v2 на своем компьютере, только Chrome будет выполнен.

, Чтобы заставить оба случая работать, так или иначе необходимо использовать функцию операционной системы, известную как пространство имен. Пространство имен является функцией, которая дает Вам возможность изолировать процессы, жесткий диск, сеть, пользователей, имена хостов и так далее.

Так, когда мы говорим о изображение , мы на самом деле говорим о снимке файловой системы. изображение является физическим файлом, который содержит направления и метаданные для создания определенного контейнер . контейнер сам является экземпляром изображение ; это изолирует жесткий диск с помощью пространства имен, которое доступно только для этого контейнер . Так контейнер является процессом или набором процессов, какие группы различные ресурсы присвоили ему.

2
ответ дан 22 November 2019 в 21:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: