Основные понятия Docker: Изображение, Контейнер, Слой
Основные понятия Docker: Изображение, Контейнер, Слой

один、основные понятия

1. зеркало(Image) что такое

зеркалоimageда Docker серединаизстатическийэлемент,Это исполняемый пакет программного обеспечения.,Содержит бег Docker Весь код, библиотеки и файлы конфигурации, необходимые контейнеру.

2. контейнер(Container) что такое

контейнерcontainerда Docker Среда выполнения в Docker Один исполняемый объект, созданный на основе зеркала. Каждый контейнер имеет независимую рабочую среду.,Может запускать произвольные команды и приложения.

3. слой(Layer) что такое

Слойда в Docker относится к составным элементам зеркала, также известного как файловая система разделенных слоев.

зеркало организовано в виде разделенной файловой системы.,Каждый уровень основан на изменениях или дополнениях, внесенных предыдущим слоем.,Вместодаодинполноценная файловая система。Docker Многоуровневая архитектура позволяет разработчикам и специалистам по развертыванию вносить изменения и обновления только в измененные части, тем самым экономя хранилище и пропускную способность, а также улучшая переносимость приложений. Среда выполнения «зеркалоиконтейнер» использует слой для поддержки файловой системы и ссылки на нее. слой также допускается Docker одиннекоторые функции,Например, кэш зеркала и доля зеркала.

два、Docker зеркало

1. Функции и виды зеркала

Docker зеркалода — исполняемый пакет программного обеспечения, содержащий Docker Весь код, библиотеки и файлы конфигурации, необходимые контейнеру. зеркало можно рассматривать как даа Docker Шаблон для контейнера,да состоит из ряда слоев файловой системы, связанных с метаданными. у него много функций,Например, его можно использовать какконтейнер Шаблон сборки、распределение、Резервное копирование и восстановление и т. д.

Обычно используется Docker Категории зеркал включают официальное зеркало、Стороннее зеркало、Частное зеркало и др.

2. Состав зеркала: Основы зеркала.、Этикетка、Метаданные и конфигурация

В состав Docker-зеркала входят следующие части:

  • Базазеркало: Составляя основу зеркального слоя, он состоит из Docker Официальный или предоставленный другими производителями, только для чтения
  • Этикетка: один видовой псевдоним для зеркала,Его можно использовать для идентификации версий, ветвей и другой информации.
  • Метаданные: Содержитзеркалоизодиннекоторая описательная информация,Например, создатель、время создания、Инструкции по запуску и т. д.
  • Конфигурационный файл: Описывает, как работает зеркало. ****

3. Изготовление и обслуживание зеркал.

Docker Конструкция зеркала общего назначения Dockerfile файл для определения, Dockerfile да Текстовый файл, содержащий инструкции по сборке зеркала. Докерфайл Каждый слой будет называться слоем (слоем) зеркала, они будут сжиматься и в конечном итоге образовывать зеркало. Докер Обслуживание зеркала можно изменять динамически через контейнер или с помощью Docker Инструменты командной строки для таких операций, как сборка зеркала, нажатие и вытягивание и т. д.

4. Сетевая передача и хранение зеркала.

Docker зеркало может пройти Docker Registry Распространение и хранение, Docker Hub да Docker Официальный склад зеркал содержит множество зеркал с открытым исходным кодом. Пользователи могут получать, создавать и делиться своими собственными с помощью поиска, извлечения, отправки и других операций. Docker зеркало. Кроме того, пользователи также могут использовать свои собственные личные Registry Хранение и управление Docker зеркало。

Что касается сетевой передачи, Docker Используйте структуру разделенных слоев для передачи зеркала.,Делайте переводы быстрее,Это также экономит полосу пропускания и место для хранения.

три、Docker контейнер

1. Назначение и тип контейнера

Docker контейнерда Зависит от Docker Запущенный экземпляр, созданный зеркалом. Каждый контейнер имеет независимую рабочую среду и может запускать любые команды и приложения. В отличие от традиционных виртуальных машин, Контейнер Docker легче виртуальной машины.,Можно быстро создать, уничтожить и запустить.

Контейнер Docker обычно делится на контейнер приложений.、системаконтейнери данныеконтейнертритип。

2. Характеристики и механизм работы контейнера.

Docker-контейнер имеет следующие возможности:

  • Портативность: Докер контейнер имеет хорошую мобильность, его можно использовать в любом поддерживаемом Docker работает на хосте.
  • Изоляция: Докер-контейнеры изолированы друг от друга.,Один контейнер не может получить доступ к содержимому другого контейнера,Доступ к содержимому на хост-компьютере также невозможен.
  • Легкий: Докер контейнер Запускай быстро,Занимает меньше ресурсов,Возможно быстрое развертывание и обновление.

Docker Механизм запуска контейнера также относительно прост. Когда контейнер запускается, Docker. Сначала будет проверено, существует ли соответствующее зеркало для да. Если нет, оно будет запущено с. Docker Hub Или скачайте зеркало из локального репозитория и сгенерируйте экземпляр контейнера на основе зеркала. Докер контейнер реализует изоляцию на стороне уровня ядра, каждый контейнер имеет свой собственный ПИД, сеть, IPC и изолированные пространства имен, такие как файловые системы.

3. Сеть и файловая система контейнера.

Docker сеть контейнера обычно использует Bridge Шаблон, Докер контейнеру будет выделен отдельный IP адрес, и каждый контейнер независим друг от друга. Если вам нужно обеспечить сетевое взаимодействие между несколькими контейнерами, вы можете использовать Docker Модель сети и пространство имен сети в .

Файловая система контейнера Docker отличается от файловой системы других операционных систем.,Он использует концепцию, похожую на слой,Состоит из нескольких слоев, доступных только для чтения, и одного записываемого слоя.,Повторное использование и совместное использование зеркала достигается путем наложения нескольких слоев, доступных только для чтения.

Четыре, Docker слой

1. Определение и функция слоя

Docker слойда означает построить Docker зеркалопроизведено, когдаизодин Очки сериислойиздокументсистема。

Каждый уровень основан на изменениях или дополнениях, внесенных предыдущим слоем.,Вместодаодинполноценная файловая система。слой Воспользуйтесь всеми преимуществами Copy-on-Write технология делает Docker Зеркало быстрее построить и эффективнее хранить.

Кроме того, из-за Docker Каждый уровень зеркала доступен только для чтения, поэтому Docker Изменения в зеркале повлияют только на самый верхний уровень чтения-записи, остальная часть всего стека зеркала не будет затронута.

2. Реализация послойной файловой системы.

Реализация слоев в Docker реализована путем разделения файловой системы слоев.

точкаслойдокументсистемадаодинкакой-то особенныйиздокументсистема,Он может комбинировать разные слои файловых систем.,и монтируем через объединениеизспособы слияния водининдивидуальный逻辑документсистема。

Docker зеркалоизкаждыйслой Вседаодининдивидуальныйтолько чтениеиздокументсистемаслой,Затем добавьте слой чтения и записи в соответствии с потребностями приложения. Когда контейнер запущен,читаемые и записываемые слои контейнера и остальные слои объединяются в единую файловую систему,Станьте средой выполнения контейнера.

3. Взаимосвязь между слоемизеркало, слоемиконтейнер.

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

контейнер、зеркало、слой (картинка с официального сайта Docker)
контейнер、зеркало、слой (картинка с официального сайта Docker)

Для контейнера,Его слои чтения-записи и другие зеркальные слои объединены в единую файловую систему.,Станьте средой выполнения контейнера. поэтому,Docker Изменения в контейнере не повлияют на зеркало нижнего слоя. Более того, Докер зеркало Пересечь днослой,Его универсальность шире,Потому что больше приложений могут запускаться и работать с меньшим количеством зависимостей.

Docker Весь слой в Docker Фундамент в архитектуре, за счет реализации распределенной файловой системы Docker. Достигается эффективное хранение и передача, а также достигается эффект обновления файла всего одним изменением. Для разработчиков и развертывателей приложений: глубокое понимание и использование Docker слой значительно повысит эффективность разработки и развертывания приложений.

пять、Подвести итог

Изображение, контейнер, слой — основные концепции Docker.

Изображение и слой. Взаимосвязь между укладкой дазеркалодаслоя.,каждыйслойпредставлятьзеркалоизодинотделениеточка。

Взаимосвязь контейнера и изображения даконтейнерда началась с зеркала,одининдивидуальныйзеркало Можно создать несколькоиндивидуальныйдругойизконтейнер。

Layer и Container из Отношения отражаются вкаждыйконтейнер Пример Всена основеодининдивидуальныйзапускатьзеркало,Его изменения повлияют только на верхний слой, доступный для чтения и записи.,не затрагивая другой слой,Изоляция и портативность контейнера гарантированы.

6. Приложение

1. Мой официальный аккаунт

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода