Найти тему
MakeBetter[Code] Blog

[🐋] Docker - Введение

Оглавление
Контейнеры бывают разные | via Stable Diffusion 1.5
Контейнеры бывают разные | via Stable Diffusion 1.5

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

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

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

Преимущества Docker

Есть несколько причин, по которым Docker стал настолько популярным среди разработчиков и ИТ-команд:

  1. Портативность: Контейнеры, созданные с помощью Docker, могут быть запущены на любой операционной системе, поддерживающей Docker, без необходимости внесения изменений в базовую систему. Это означает, что разработчики могут написать код один раз и запустить его в любом месте.
  2. Изоляция: Каждый контейнер работает в своей изолированной среде, со своей файловой системой, сетью и переменными окружения. Это гарантирует, что приложения не будут мешать друг другу и что зависимости не будут передаваться различным приложениям или пользователям.
  3. Эффективность: Контейнеры используют меньше ресурсов, чем традиционные виртуальные машины, что делает их более эффективными для запуска приложений. Они также используют ядро совместно с операционной системой хоста, что снижает накладные расходы и повышает производительность.
  4. Безопасность: Контейнеры обеспечивают дополнительный уровень безопасности, изолируя приложения от базовой системы. Они также облегчают применение политик безопасности, таких как ограничение доступа к определенным портам или предотвращение доступа root.

Как работает Docker

via www.docker.com/resources/what-container/
via www.docker.com/resources/what-container/

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

Чтобы создать контейнер, сначала необходимо установить на машину движок Docker. После установки движка вы можете создать контейнер с помощью инструмента командной строки docker. Вот пример того, как создать новый контейнер:

docker run -it --name myapp -p 8080:80 nginx

Эта команда создает новый контейнер с именем myapp, привязывает порт 8080 на хосте с портом 80 на контейнере и запускает контейнер в интерактивном режиме.

Когда контейнер запущен, вы можете взаимодействовать с ним с помощью команды docker exec. Например, чтобы запустить новый процесс внутри контейнера, вы можете использовать следующую команду:

docker exec -it myapp /bin/bash

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

Создание простого приложения в контейнере Docker

Поняв, как работает Docker, давайте создадим простой веб-сервер в контейнере Docker. Сначала мы создадим новый каталог с именем simple_webserver:

mkdir simple_webserver

Далее создадим новый файл index.html:

echo "<html><body><h1>Привет, мир!</h1></body></html>" > simple_webserver/index.html

Этот файл просто отображает текст "Привет, мир!" в окне браузера.

Теперь создадим Dockerfile для сборки нашего образа:

-3

Dockerfile указывает базовый образ (alpine:latest), копирует текущий каталог в /app, устанавливает Apache, открывает порт 8080 и запускает веб-сервер в фоновом режиме.

Чтобы собрать образ, выполните следующую команду:

docker build -t simple_webserver.

Это создаст образ с тегом simple_webserver.

Наконец, мы можем запустить контейнер с помощью команды docker run:

docker run -it --name simple_webserver simple_webserver

Это запустит новый контейнер на основе образа simple_webserver. Как только контейнер будет запущен, вы сможете получить доступ к веб-странице по адресу http://localhost:8080.

Заключение

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

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

Независимо от того, являетесь ли вы разработчиком, которому нужно упаковывать и распространять свои приложения, или администратором, управляющим сложными системами, проекту Docker есть что вам предложить.

Так почему бы не попробовать?

🎉✨ Поздравляю с завершением чтения статьи

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

Также, можете взглянуть на некоторые из моих других публикаций, чтобы найти еще больше отличного контента 🔥:

Наследование в Python
MB Magazine23 марта 2023
[🗄] Структуры Данных в Python - Почему об этом Важно Знать
MB Magazine30 марта 2023
[🔥] Замечательные новшества Python 3.10
MB Magazine25 марта 2023