Написано: 06.01.2023

Часть 1. Обзор

Добро пожаловать! Мы рады, что вы хотите изучить Docker.

Это руководство содержит пошаговые инструкции о том, как начать работу с Docker. Вот некоторые из вещей, которые вы узнаете и сделаете в этом руководстве:

  • Создание и запуск образа в качестве контейнера

  • Публикация образа через Docker Hub

  • Развертывание приложений Docker с использованием нескольких контейнеров с базой данных

  • Запуск приложений с помощью Docker Compose

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

Что такое контейнер?

По-простому, контейнер – это процесс-песочница на вашем компьютере, который изолирован от всех других процессов на главном компьютере. Эта изоляция использует пространства имен ядра и группы, функции, которые были в Linux в течение длительного времени. Docker работал над тем, чтобы сделать эти возможности доступными и простыми в использовании. Подводя итог, контейнер:

  • является запущенным экземпляром изображения. Вы можете создавать, запускать, останавливать, перемещать или удалять контейнер с помощью Docker API или CLI.

  • может быть запущен на локальных машинах, виртуальных машинах или развернут в облаке.

  • является портируемым (может быть запущен на любой ОС).

  • изолирован от других контейнеров и запускает свое собственное программное обеспечение, двоичные файлы и конфигурации.

Что такое изображение контейнера?

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

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

Примечание
Если вы знакомы с chroot, думайте о контейнере как о расширенной версии chroot. Файловая система просто берется из образа. Но контейнер добавляет дополнительную изоляцию, недоступную при простом использовании chroot.

Следующие шаги

В этом разделе вы узнали о контейнерах и изображениях.

В следующем разделе вы разместите свое первое приложение в контейнере.