Установка Docker на системе

DockerBeginner
Практиковаться сейчас

Введение

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

Понимание Docker

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

Что такое Docker?

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

Преимущества использования Docker

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

Архитектура Docker

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

graph LD
    client[Docker Client]
    daemon[Docker Daemon]
    registry[Docker Registry]
    client -- API --> daemon
    daemon -- Pull/Push --> registry

Компоненты Docker

  1. Образы Docker: Образы Docker — это чертежи для создания контейнеров Docker. Они включают код приложения, зависимости и любые другие необходимые файлы.
  2. Контейнеры Docker: Контейнеры Docker — это работающие экземпляры образов Docker. Они лёгкие, переносимые и самодостаточные.
  3. Репозиторий Docker: Репозиторий Docker — это система хранения и распространения образов Docker. Наиболее популярным репозиторием является Docker Hub, который содержит обширную коллекцию общедоступных образов.

Начало работы с Docker

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

Установка Docker на вашей системе

В этом разделе мы расскажем, как установить Docker на систему Ubuntu 22.04.

Предварительные условия

Прежде чем начать, убедитесь, что ваша система соответствует следующим требованиям:

  • Операционная система Ubuntu 22.04
  • Права root или sudo для установки и управления Docker

Шаг 1: Обновление индекса пакетов

Начните с обновления индекса пакетов вашей системы:

sudo apt-get update

Шаг 2: Установка Docker

Установите необходимые пакеты, чтобы разрешить apt использовать репозиторий через HTTPS:

sudo apt update
sudo apt-get install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

Добавьте официальный ключ GPG Docker:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Настройте репозиторий Docker:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Установите пакеты Docker Engine, containerd и Docker Compose:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Шаг 3: Проверка установки

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

sudo docker run hello-world

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

Поздравляем! Вы успешно установили Docker на вашей системе Ubuntu 22.04. В следующей секции мы рассмотрим, как запустить свой первый контейнер Docker.

Запуск вашего первого контейнера Docker

Теперь, когда Docker установлен на вашей системе, давайте рассмотрим, как запустить свой первый контейнер Docker.

Запуск контейнера

Для запуска контейнера Docker вам потребуется использовать команду docker run. Эта команда загрузит указанный образ из репозитория Docker (если он ещё не присутствует на вашей системе) и запустит новый контейнер на основе этого образа.

Давайте начнём с запуска простого контейнера "hello world":

docker run hello-world

Эта команда загрузит образ hello-world из репозитория Docker Hub и запустит контейнер на основе этого образа. Контейнер отобразит сообщение "Hello from Docker!" и затем завершит работу.

Взаимодействие с контейнерами

Вы можете взаимодействовать с запущенными контейнерами с помощью различных команд Docker:

  • docker ps: Список всех запущенных контейнеров
  • docker stop <container_id>: Остановка запущенного контейнера
  • docker start <container_id>: Запуск остановленного контейнера
  • docker exec -it <container_id> /bin/bash: Открытие оболочки внутри запущенного контейнера

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

docker exec -it < container_id > /bin/bash

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

Создание и запуск пользовательских образов

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

Вот простой пример Dockerfile:

FROM ubuntu:22.04
RUN apt-get update && apt-get install -y nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Этот Dockerfile создаст новый образ на основе базового образа Ubuntu 22.04, установит веб-сервер Nginx, экспонирует порт 80 и запустит службу Nginx при запуске контейнера.

Для сборки образа вы можете использовать команду docker build:

docker build -t my-nginx-app .

Это создаст новый образ с тэгом my-nginx-app.

Для запуска контейнера на основе этого образа вы можете использовать команду docker run:

docker run -d -p 80:80 my-nginx-app

Это запустит новый контейнер, отобразит порт 80 на хосте на порт 80 в контейнере и запустит веб-сервер Nginx.

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

Резюме

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