Базовый состав Docker: образ + контейнер + склад.
изображение
Docker-образ (Image) — это шаблон, доступный только для чтения. Образы можно использовать для создания контейнеров Docker, а один образ может создать множество контейнеров. Это также эквивалентно корневой файловой системе. Например, официальный образ centos:7 содержит полный набор корневых файловых систем минимальной системы centos:7. Файл изображения Docker, эквивалентный «исходному коду» контейнера, аналогичен шаблону класса Java, а экземпляр контейнера Docker аналогичен новому объекту экземпляра в Java.
контейнер
1 С объектно-ориентированной точки зрения Docker использует контейнер (Контейнер) для независимого запуска приложения или группы приложений. Приложение или служба запускаются в контейнере. Контейнер аналогичен виртуализированной операционной среде. экземпляр, созданный с помощью зеркала. Подобно объектам класса и экземпляра в Java, изображение является статическим определением, а контейнер — объектом при запуске изображения. Контейнеры предоставляют стандартную и изолированную операционную среду для образов, которую можно запускать, останавливать и удалять. Каждый контейнер изолирован друг от друга и имеет безопасную площадку.
2 С точки зрения контейнеров образов, контейнер можно рассматривать как упрощенную версию среды Linux (включая права root-пользователя, пространство процессов, пространство пользователя, сетевое пространство и т. д.) и приложений, работающих в нем.
репозиторий
Репозиторий — это место, где файлы изображений хранятся централизованно. Аналогично складу Maven, где хранятся различные jar-пакеты; складу github, где хранятся различные проекты git, официальный реестр, предоставляемый Docker, называется Docker Hub, где хранятся различные шаблоны изображений. Склады делятся на две формы: склады общего пользования (Public) и склады частного назначения (Private). Крупнейшим общедоступным складом является Docker Hub (https://hub.docker.com/). В Китае также имеется множество адресов общедоступных складов.
Необходимо правильно понимать понятия склад/зеркало/контейнер:
Docker сам по себе представляет собой контейнерный носитель или механизм управления. Мы упаковываем зависимости приложения и конфигурации, чтобы сформировать готовую рабочую среду. Эта упакованная рабочая среда представляет собой файл образа. Только с помощью этого файла образа можно создать экземпляр контейнера Docker (аналогично новому объекту в Java).
Файлы изображений можно рассматривать как шаблоны для контейнеров. Docker генерирует экземпляры контейнеров на основе файлов изображений. Один и тот же файл образа может создать несколько экземпляров контейнера, работающих одновременно. Файл изображения * Экземпляр контейнера, созданный файлом изображения, сам по себе является файлом, называемым файлом изображения.
Экземпляр контейнера :Контейнер запускает сервис. Когда нам это нужно, мы можем создать соответствующий работающий экземпляр через клиент Docker, который является нашим хранилищем контейнеров: это место, где размещается множество изображений, и мы можем публиковать изображения в хранилище. склад, просто вытащите его со склада, когда это необходимо.