Раздел помощи SpaceWeb

Как установить Docker на Ubuntu 22.04: инструкция

15 июн, 2024

Что такое Docker

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

Он предлагает множество преимуществ, которые делают его популярным инструментом для разработки и развёртывания приложений. К ним относятся:

  • Портативность. Контейнеры Докер могут работать на любом сервере, который поддерживает эту платформу. А потому приложения в контейнерах можно легко переносить между различными средами: например, локальными серверами разработчиков, тестовыми серверами и prod-средами. Это значительно упрощает процессы DevOps и CI/CD, обеспечивая единое окружение для всех этапов разработки.
  • Изоляция. Контейнеры изолируют приложения и их зависимости от хостовой системы и других контейнеров. Это позволяет избежать конфликтов между различными версиями библиотек и других зависимостей.
  • Лёгкость и производительность. В отличие от виртуальных машин, контейнеры используют ресурсы хостовой операционной системы напрямую, что делает их более лёгкими и менее ресурсоёмкими. Они запускаются быстрее и потребляют меньше памяти и процессорного времени, так как не требуют запуска отдельной операционной системы для каждого контейнера.
  • Скорость разработки и развёртывания. Docker упрощает создание, тестирование и развёртывание приложений. Разработчики могут быстро создавать образы, включающие все необходимые зависимости, и тестировать их в среде, идентичной prod. Это ускоряет цикл разработки и уменьшает количество ошибок, которые связаны с различиями в окружении.
  • Масштабируемость и управляемость. Docker легко масштабирует приложения, позволяя быстро увеличивать или уменьшать количество контейнеров в зависимости от нагрузки. Инструменты оркестрации, такие как Docker Swarm и Kubernetes, позволяют автоматизировать управление кластерами контейнеров, обеспечивая высокую доступность и надёжность приложений.
  • Экономия ресурсов. Контейнеры позволяют более эффективно использовать ресурсы хостовой системы по сравнению с виртуальными машинами. Это достигается за счёт совместного использования ядра операционной системы и отсутствия необходимости в запуске полной операционной системы для каждого контейнера.

Общие системные требования

Для успешной установки Docker Desktop ваш хост на Linux должен соответствовать общим требованиям:

  • 64-разрядное ядро и поддержка виртуализации процессором.
  • Поддержка виртуализации KVM. 
  • QEMU версии 5.2 или новее. Рекомендуется обновиться до последней версии.
  • Система инициализации systemd.
  • Среда рабочего стола Gnome, KDE или MATE.
  • Во многих дистрибутивах Linux среда Gnome не поддерживает иконки в области уведомлений. Чтобы это исправить, необходимо установить расширение Gnome (например, AppIndicator).
  • Не менее 4 ГБ оперативной памяти.
  • Включите настройку сопоставления идентификаторов в пространствах имён пользователей.

Docker предоставляет пакеты .deb и .rpm для следующих дистрибутивов Linux и архитектур:

  • Ubuntu (x86_64 / amd64)
  • Debian (x86_64 / amd64)
  • Red Hat Enterprise Linux (RHEL) (x86_64 / amd64)
  • Fedora (x86_64 / amd64)

Установка Docker на Ubuntu 22.04

  1. Обновите список пакетов и установите обновления:
sudo apt update 

  1. Установите пакеты, которые позволят apt использовать репозитории через HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common

  1. Добавьте официальный GPG-ключ Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 

  1. Добавьте репозиторий Docker в список источников apt:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 

  1. Обновите список пакетов:
sudo apt update 

  1. Убедитесь, что установка будет производиться из репозитория Docker, а не из стандартного репозитория Ubuntu:
apt-cache policy docker-ce

Примерный вывод:

docker-ce:
  Installed: (none)
  Candidate: 5:20.10.14~3-0~ubuntu-jammy
  Version table:
     5:20.10.14~3-0~ubuntu-jammy 500
        500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
     5:20.10.13~3-0~ubuntu-jammy 500
        500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
 
  1. Установите Docker:
sudo apt install docker-ce

  1. Убедитесь, что Docker установлен и работает:
sudo systemctl status docker

Вывод будет примерно следующий:

Output
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-05-24 17:05:12 UTC; 20s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 7854 (dockerd)
      Tasks: 7
     Memory: 38.3M
        CPU: 340ms
     CGroup: /system.slice/docker.service
             └─7854 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

  1. Добавьте своего пользователя в группу docker, чтобы запускать платформу без прав суперпользователя:
sudo usermod -aG docker $USER 

  1. Чтобы применить изменения, выйдите из системы и войдите снова или выполните команду:
newgrp docker 

  1. Убедитесь, что Docker автоматически запускается при старте системы:
sudo systemctl enable docker

Установка Docker Compose

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

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

  1. Скачайте текущую стабильную версию Docker Compose. Проверьте на странице релизов Docker Compose для получения последней версии. 

В нашей инструкции мы будет устанавливать версию 2.27.1:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 

  1. Сделайте загруженный файл исполняемым:
sudo chmod +x /usr/local/bin/docker-compose 

  1. Проверьте установку, запустив команду:
docker-compose --version 

На экране вы должны увидеть версию Docker Compose.

Теперь Docker Compose установлен и настроен на вашем Ubuntu 22.04. Вы можете использовать его для управления многоконтейнерными Docker приложениями, что значительно упростит процесс развёртывания и управления вашими проектами.