Введение
Docker — это мощная платформа контейнеризации, которая произвела революцию в подходе разработчиков к созданию, развертыванию и управлению приложениями. В этом руководстве мы проведем вас через процесс создания и запуска простого контейнера Docker «Hello World», что является отличной отправной точкой для изучения Docker.
Введение в Docker
Docker — это популярная платформа с открытым исходным кодом, которая позволяет разработчикам создавать, развертывать и запускать приложения в контейнерной среде. Контейнеры — это лёгкие, автономные и исполняемые программные пакеты, содержащие всё необходимое для запуска приложения, такие как код, среда выполнения, системные инструменты и библиотеки.
Что такое Docker?
Docker — это инструмент, разработанный для упрощения создания, развертывания и запуска приложений с помощью контейнеров. Контейнеры позволяют разработчику упаковать приложение со всеми необходимыми компонентами, такими как библиотеки и другие зависимости, и отправить всё это как один пакет.
Архитектура Docker
Архитектура Docker состоит из следующих ключевых компонентов:
graph TD
A[Клиент Docker] --> B[Дэмон Docker]
B --> C[Образы Docker]
B --> D[Контейнеры Docker]
B --> E[Репозитории Docker]
- Клиент Docker: Пользовательский интерфейс для взаимодействия с системой Docker.
- Дэмон Docker: Фоновый процесс, управляющий объектами Docker, такими как образы, контейнеры, сети и тома.
- Образы Docker: Чертежи для создания контейнеров Docker.
- Контейнеры Docker: Исполняемые экземпляры образов Docker.
- Репозитории Docker: Репозитории для хранения и распространения образов Docker.
Преимущества использования Docker
- Согласованность: Docker гарантирует, что приложения работают одинаково независимо от базовой инфраструктуры.
- Масштабируемость: Контейнеры Docker можно легко масштабировать вверх или вниз в зависимости от потребностей приложения в ресурсах.
- Переносимость: Контейнеры Docker могут работать на любой машине, на которой установлен Docker, независимо от базовой операционной системы.
- Эффективность: Контейнеры Docker лёгкие и используют меньше ресурсов по сравнению с традиционными виртуальными машинами.
Начало работы с Docker
Для начала работы с Docker вам необходимо установить движок Docker на вашей системе. Вы можете загрузить и установить Docker с официального сайта Docker (https://www.docker.com/get-started). После установки вы можете начать использовать Docker для создания и запуска своих приложений.
Создание контейнера Docker "Hello World"
В этом разделе мы научимся создавать простой контейнер Docker "Hello World".
Создание Dockerfile
Dockerfile — это текстовый файл, содержащий инструкции для сборки Docker образа. Давайте создадим простой Dockerfile:
## Используем официальный образ Ubuntu 22.04 в качестве базового образа
FROM ubuntu:22.04
## Установите рабочую директорию в /app
WORKDIR /app
## Скопируйте скрипт "hello.sh" в контейнер
COPY hello.sh .
## Сделайте скрипт исполняемым
RUN chmod +x hello.sh
## Определите команду для запуска скрипта при запуске контейнера
CMD ["./hello.sh"]
В этом Dockerfile мы:
- Используем официальный образ Ubuntu 22.04 в качестве базового образа.
- Устанавливаем рабочую директорию в
/app. - Копируем скрипт "hello.sh" в контейнер.
- Делаем скрипт исполняемым.
- Определяем команду для запуска скрипта при запуске контейнера.
Сборка Docker образа
Для сборки Docker образа выполните следующую команду в той же директории, что и Dockerfile:
docker build -t hello-world .
Эта команда соберет Docker образ с меткой "hello-world".
Проверка образа
Вы можете перечислить все Docker образы на вашей системе, выполнив:
docker images
Вы должны увидеть образ "hello-world" в списке.
Запуск и изучение контейнера "Hello World"
Теперь, когда мы создали Docker образ "hello-world", давайте запустим и изучим контейнер.
Запуск контейнера
Для запуска контейнера "hello-world" используйте следующую команду:
docker run hello-world
Эта команда запустит контейнер и выполнит команду, определённую в Dockerfile (т.е., запустит скрипт "hello.sh").
Вы должны увидеть вывод:
Hello, LabEx!
Изучение контейнера
Вы можете изучить запущенный контейнер, используя различные команды Docker:
Список запущенных контейнеров:
docker psЭто покажет запущенные контейнеры на вашей системе.
Просмотр информации о контейнере:
docker inspect hello-worldЭто предоставит подробную информацию о контейнере, такую как его конфигурация, настройки сети и многое другое.
Просмотр логов контейнера:
docker logs hello-worldЭто отобразит вывод скрипта "hello.sh", который был выполнен в контейнере.
Выполнение команды внутри запущенного контейнера:
docker exec -it hello-world /bin/bashЭто запустит интерактивную сессию внутри запущенного контейнера, позволяя вам изучить файловую систему контейнера и выполнить дополнительные команды.
Остановка и удаление контейнера
Для остановки запущенного контейнера используйте следующую команду:
docker stop hello-world
Для удаления контейнера используйте следующую команду:
docker rm hello-world
Это остановит и удалит контейнер "hello-world" с вашей системы.
Резюме
В этом руководстве вы узнали, как создать и запустить контейнер Docker "Hello World". Понимая основные концепции Docker контейнеров, вы сделали первый шаг к освоению этой мощной технологии. Docker позволяет упаковать ваши приложения и их зависимости в портативные, автономные единицы, что упрощает разработку, развертывание и управление вашим программным обеспечением в различных средах. С полученными в этом руководстве знаниями вы теперь можете изучить более сложные концепции Docker и начать создавать свои собственные контейнеризованные приложения.



