Оглавление


Перед контейнерами

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

Включив в игру идею виртуальных машин, IBM смогла решить эту проблему. Они позволили нам запускать множество приложений на одном сервере. Возможно, вы дважды загрузили свой компьютер, установив Windows на Mac или Ubuntu на компьютер с Windows. Эти машины виртуальные. Но и они столкнулись с проблемой. Им требовалась собственная операционная система, которая, как правило, потребляла значительный объем памяти и дискового пространства. В результате они стали неэффективными и медленными.

Наши Контейнеры Мессии вошли.


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

Что такое Docker и как работает Docker?

Представьте себе переезд из Индии в Шотландию. Было бы удобнее отправлять ваши вещи по одному или вы бы предпочли отправить их все сразу? Конечно, последнее, не так ли?

Проще говоря, эта большая коробка — это контейнер.

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

Контейнеризация — это продуктивный способ запуска, развертывания и масштабирования приложений в контексте вычислений.


Виртуальные машины и контейнеры (ВМ)

Что такое Docker и как работает Docker?

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

С контейнерами вам нужна только одна операционная система и дополнительный механизм контейнера, который используется для запуска приложений. Используется концепция отделения вашего приложения от основной операционной системы.

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

Однако на практике виртуальные машины работают поверх контейнеров. Вы могли бы описать их как более легкий вариант.


Тогда что такое Докер?

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

Это приводит нас к следующему пункту.

 
Войти в полноэкранный режим

Выйти из полноэкранного режима


Почему вы должны использовать Докер?

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

Давайте на минутку познакомимся с некоторыми терминами Docker, которые упростят нам жизнь.


Терминология, используемая Docker


Среда выполнения докера

Благодаря этому мы можем запускать и останавливать контейнеры. Они следующие:

  • Низкоуровневая среда выполнения (runc)
  • Среда выполнения высокого уровня (Containerd)


Докер-клиент

Это позволяет пользователям давать команды Docker Daemon. Архитектура клиент-сервер используется Docker.

Что такое Docker и как работает Docker?


Докер Двигатель

Он отвечает за обеспечение бесперебойной работы платформы Docker в целом. Это клиент-серверное приложение, состоящее из трех частей:

  • Сервер — на котором работает демон
  • Rest API — занимается взаимодействием приложений с их сервером
  • Клиент — это не что иное, как интерфейс командной строки (CLI)


Докер Демон

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


Докер-образ

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


Докерфайл

Он включает в себя список рекомендаций по созданию образов Docker.


Докер-реестры

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

 
Войти в полноэкранный режим

Выйти из полноэкранного режима


Введение в наши команды Docker

Однако сначала…


Установка Докера

Для начала вы можете ознакомиться с официальной документацией.

Посетите Play With Docker, увлекательную онлайн-площадку для Docker, если вы хотите пропустить установку.

Теперь вернемся к практической работе 🙂

docker run

Войти в полноэкранный режим

Выйти из полноэкранного режима

- Джайнил Праджапати

Эта команда запускает контейнер после его первоначального создания. Сначала он определит, доступен ли самый последний официальный образ hello-world на хосте Docker, прежде чем создавать контейнер (локальный компьютер, на котором работает механизм Docker). Если нет, как в случае, упомянутом выше, то же самое будет автоматически загружено из Docker Hub до создания контейнера.

Контейнер создается путем запуска образа, и имя образа в этом случае Привет, мир.

docker images

Войти в полноэкранный режим

Выйти из полноэкранного режима

Эта команда отображает список всех образов Docker, доступных на хосте Docker.

3qsYHqkWV - Джайнил Праджапати

Давайте объясним каждое слово, которое было использовано здесь:

  1. РЕПОЗИТОРИЙ — показывает имя образа докера.
  2. TAG — это в основном представляет версию используемого изображения. Каждое изображение имеет свой уникальный тег.
  3. IMAGE ID – строка, состоящая из буквенно-цифровых символов, которые связаны с каждым изображением.
  4. CREATED — показывает, когда изображение было создано.
  5. SIZE – это представляет размер изображения
docker ps

Войти в полноэкранный режим

Выйти из полноэкранного режима

Это позволяет нам видеть каждый активный контейнер на хосте Docker.

cOvJ8oS3G - Джайнил Праджапати

docker inspect [image_name]

Войти в полноэкранный режим

Выйти из полноэкранного режима

Он предоставляет подробную информацию о картине.

docker container prune -f

Войти в полноэкранный режим

Выйти из полноэкранного режима

Он очистит Docker от всех остановленных и неактивных контейнеров.

- Джайнил Праджапати

docker rmi [image_name]

Войти в полноэкранный режим

Выйти из полноэкранного режима

Это позволяет нам удалить изображение или изображения с хоста.

N4AUKmWbT - Джайнил Праджапати

Мы модифицируем команду RMI следующим образом, чтобы удалить все изображения сразу:

docker rmi $(docker images -q)

Войти в полноэкранный режим

Выйти из полноэкранного режима

asbnblbef - Джайнил Праджапати

Я искренне ценю, что вы прочитали это и потратили время, которое вы сделали.