Статьи

Объяснение Docker — Вводное руководство по Docker

Передай привет Докеру.

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

  • История до контейнеризации
  • Причины использовать контейнеры
  • Что такое Докер?
  • Dockerfile, изображения и контейнеры
  • Докер Составь и Докер Рой
  • Руки вверх

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


Вам также может понравиться:
Докер для начинающих

Docker объяснил: история до контейнеризации

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

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

Эти недостатки привели к появлению новой техники под названием контейнеризация.

контейнаризация

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

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

Причины использования контейнеров

Вот причины использования контейнеров:

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

Теперь, когда вы поняли, что такое контейнеризация и причины использования контейнеров, пришло время понять, что такое Docker?

Docker объяснил: что такое Docker?

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

контейнаризация

контейнаризация

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

Таким образом, разработчик может создать контейнер с установленными на нем различными приложениями и передать его команде QA. Тогда команде QA потребуется только запустить контейнер для репликации среды разработчика.

Dockerfile, изображения и контейнеры

Dockerfile, образы Docker и контейнеры Docker — это три важных термина, которые необходимо понимать при использовании Docker.

Dockerfile, изображения и контейнеры

Dockerfile, изображения и контейнеры

Как вы можете видеть на диаграмме выше, когда Dockerfile создается, он становится образом Docker, а когда мы запускаем образ Docker, он, наконец, становится контейнером Docker.

  • Dockerfile: Dockerfile — это текстовый документ, содержащий все команды, которые пользователь может вызывать в командной строке для сборки изображения. Таким образом, Docker может создавать изображения автоматически, читая инструкции из Dockerfile. Вы можете использовать docker buildдля создания автоматической сборки, чтобы последовательно выполнить несколько команд командной строки.

  • Изображение Docker: с точки зрения непрофессионала, изображение Docker можно сравнить с шаблоном, который используется для создания контейнеров Docker. Таким образом, эти шаблоны только для чтения являются строительными блоками контейнера Docker. Вы можете использовать docker runдля запуска изображения и создания контейнера. Изображения Docker хранятся в реестре Docker. Это может быть локальный репозиторий пользователя или общедоступный репозиторий, такой как Dockerhub, который позволяет нескольким пользователям совместно создавать приложения.

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

Docker объяснил: Docker Compose и Docker Swarm

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

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

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

Докер объяснил: практический

Выполните следующие шаги, чтобы создать Dockerfile, изображение и контейнер.

Шаг 1: Сначала вы должны установить Docker. 

Шаг 2: После установки Docker используйте следующую команду для проверки версии Docker.

docker -v

Снимок демонстрации - объяснение докера - Edureka

Шаг 3: Теперь создайте папку, в которой вы можете создать Dockerfile и изменить текущий рабочий каталог на эту папку.

mkdir images
cd images

Снимок демонстрации - объяснение докера - Edureka

Шаг 4.1: Теперь создайте Dockerfile с помощью редактора. В этом случае я использовал нано-редактор.

nano Dockerfile

Снимок демонстрации - объяснение докера - Edureka

Шаг 4.2: После того, как вы откроете Dockerfile, вы должны написать Dockerfile следующим образом.

FROM ubuntu:latest
MAINTAINER Sahiti (email@domain.com)
RUN apt-get update
RUN apt-get install -y nginx
ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]
EXPOSE 80

Снимок демонстрации - объяснение докера - Edureka

  •  FROM: Указывает изображение, которое должно быть загружено
  •  MAINTAINER: Метаданные владельца, которому принадлежит изображение
  •  RUN: Определяет команды, которые будут выполнены
  •  ENTRYPOINT: Определяет команду, которая будет выполнена первой
  •  EXPOSE: Указывает порт, на котором открыт контейнер

Шаг 4.3. Как только вы закончите с этим, просто сохраните файл.

Шаг 5: Создайте Dockerfile, используя приведенную ниже команду.

docker build

** «.» используется для сборки Dockerfile в текущей папке **

Снимок демонстрации - объяснение докера - Edureka

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

docker images

Снимок демонстрации - объяснение докера - Edureka

Шаг 7 : Теперь, чтобы создать контейнер на основе этого образа, вам нужно выполнить следующую команду:

docker run -it -p port_number -d image_id

Где   -it убедиться, что контейнер является интерактивным,   -p  предназначен для переадресации портов и   -d запуска демона в фоновом режиме.

Снимок демонстрации - объяснение докера - Edureka

Шаг 8 : Теперь вы можете проверить созданный контейнер, используя следующую команду:

docker ps

Снимок демонстрации - объяснение докера - Edureka

На этом мы подошли к концу этой статьи, надеюсь, вам понравился этот блог.

Дальнейшее чтение

Топ 10 преимуществ, которые вы получите, используя Docker

Понимание Dockerfile

Кубернетес против Докера