Введение:

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

Что такое докер?

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

Преимущества докера:

  1. Управление зависимостями: Docker позволяет разработчикам упаковывать свои приложения вместе со всеми зависимостями в единый модуль, известный как контейнер. Это упрощает управление зависимостями и гарантирует, что ваше приложение работает согласованно в различных средах.
  2. Изоляция: контейнеры Docker работают изолированно друг от друга и от базовой хост-системы. Это означает, что вы можете запускать несколько приложений с разными требованиями к времени выполнения на одном компьютере, не беспокоясь о конфликтах или помехах.
  3. Масштабируемость. Легкий характер Docker позволяет быстро и эффективно масштабировать приложения. Вы можете легко масштабировать контейнеры как по горизонтали (добавляя больше экземпляров), так и по вертикали (увеличивая ресурсы для одного контейнера).
  4. Быстрое развертывание: Docker упрощает процесс развертывания, значительно сокращая время, необходимое для запуска и запуска ваших приложений. Его способность создавать согласованные среды обеспечивает беспрепятственное развертывание на различных платформах.
  5. Контроль версий: образы Docker предоставляют возможности управления версиями, позволяя разработчикам отслеживать изменения и при необходимости легко возвращаться к предыдущим версиям. Это обеспечивает лучший контроль и гибкость в течение жизненного цикла разработки.

Зачем нам нужен докер?

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

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

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

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

Ключевые понятия Докера:

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

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

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

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

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

Начало работы с Докером:

Вот пошаговое руководство по началу работы с Docker:

  1. Установка. Прежде всего установите Docker в вашей системе. Зайдите на Сайт Docker и следуйте простым инструкциям для вашей операционной системы.

2. Привет, Докер! Откройте терминал или командную строку и введите:

docker run hello-world

Эта волшебная команда извлечет крошечный образ «hello-world» из Docker Hub и запустит его в контейнере. Если вы видите дружественное сообщение, Docker готов к работе!

3. Создание Dockerfile: во-первых, вам нужно клонировать это приложение из Git Hub. Затем вам нужно создать пустой файл Dockerfile в том же каталоге, что и ваше приложение. Вы должны назвать его именно Dockerfile. Откройте файл Dockerfile в любом текстовом редакторе и вставьте следующее содержимое.

# Use the official Apache image as the base image
FROM httpd:latest

# Copy the contents of the website folder to the Apache document root
COPY ./simple-static-site /usr/local/apache2/htdocs/

Ваш рабочий каталог должен выглядеть так.

4. Создание образа Docker. Используйте следующую команду в своей оболочке или терминале, чтобы создать образ Docker.

docker build -t my_static_website .

Вы увидите аналогичный вывод.

В этой команде -t означает тег. Мы можем дать нашему изображению имя, используя -t. В этом случае имя нашего изображения — «my_static_website».

5. Создание контейнера. После создания образа вы можете создать контейнер с помощью следующей команды.

docker run -d -p 80:80 my_static_website

В этой команде флаг -d запускает наш контейнер в «отключенном» режиме или в фоновом режиме. И флаг -p предоставляет порт 80 контейнера докеров для локального хоста вашего компьютера: 80. И, наконец, мы указали имя изображения.

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

6. Доступ к приложению: теперь контейнер успешно запущен. Мы можем перейти на localhost:80 и увидеть нашу веб-страницу. Введите localhost:80 в свой браузер, и вы увидите следующую страницу.

Примечание о dockerfile:

Чтобы создать dockerfile, вам не нужно запоминать синтаксис. Вы всегда можете обратиться к этой исчерпывающей документации. Для каждого dockerfile требуется базовый образ. В нашем случае мы используем httpd:latest. Если вам интересно, где я взял это изображение? вы можете увидеть его на Docker Hub, и если вы прокрутите вниз, вы увидите документацию для этого образа. Docker Hub содержит множество образов для веб-серверов, включая httpd, ngnix, tomcat и т. д. Он также содержит различные образы приложений и образы баз данных. Я рекомендую вам изучить Docker Hub, чтобы получить некоторое представление.

Очистка:

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

  1. Вы можете увидеть запущенные контейнеры с помощью команды «docker ps». Используйте команду «docker ps», и вы увидите этот вывод.

2. Нам нужно сначала остановить контейнер, чтобы удалить его. Чтобы остановить контейнер, используйте «docker stop ‹container_id или name›».

3. Как только ваш контейнер будет остановлен и вы используете команду «docker ps», вы ничего не увидите. Потому что «docker ps» показывает только запущенные контейнеры. Чтобы увидеть все контейнеры, как остановленные, так и работающие, используйте команду «docker ps -a».

4. Теперь контейнер остановлен. Поэтому мы можем удалить его, используя «docker rm ‹container_id или имя›».

5. Контейнер удален! Теперь настала очередь удалить изображение. Чтобы просмотреть все изображения, используйте команду «docker images».

Как видите, у меня есть три разных изображения. Чтобы удалить образ «my_static_website», используйте «docker rmi ‹image_name:tag›».

Последние слова:

Поздравляем! 🎉️ Вы добрались до конца блога. Если вам нравится этот блог, не забудьте оставить несколько хлопков и комментариев. Подписывайтесь на меня на Medium для подобного контента.

Я с нетерпением жду связи с вами на LinkedIn: https://www.linkedin.com/in/mohammedaffan7/

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .