Как установить Docker на Ubuntu 22.04

Что такое Docker

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

Почему нужно выбрать Docker

Docker предоставляет множество преимуществ для разработчиков, системных администраторов и команд DevOps.

  • Изоляция и консистентность. Контейнеры изолируют приложения и их зависимости от друг друга и от хост-системы. Это обеспечивает согласованность и целостность в разных окружениях, позволяя избегать возникновения конфликтов и снижать вероятность ошибок.
  • Портабельность. Контейнеры можно легко переносить между разными средами, будь то машина для разработки, облачные серверы или локальный компьютер. Это упрощает процесс развертывания и тестирования.
  • Быстрое развёртывание и масштабирование. Создание и запуск контейнеров занимает всего лишь секунды, что значительно ускоряет процесс разработки и развёртывания приложений. Контейнеры также предлагают горизонтальное масштабирование, добавляя экземпляры контейнеров по мере необходимости.
  • Эффективное использование ресурсов. Docker использует общее ядро операционной системы, что позволяет оптимально использовать ресурсы хост-системы. Это означает, что контейнеры могут работать с минимальным объёмом вычислительных и памятных ресурсов.
  • Инфраструктура как код. Docker-контейнеры описываются с помощью кода, что упрощает автоматизацию и управление инфраструктурой. Это способствует управляемости и воспроизводимости процессов развертывания.
  • Лёгкая обновляемость и откат. Образы контейнеров можно легко обновить, а также быстро вернуться к предыдущей версии в случае проблемы. Это упрощает управление приложениями на производственных серверах.
  • Модульность и микросервисная архитектура. Docker способствует разделению приложения на мелкие компоненты, которые могут работать в отдельных контейнерах. Это улучшает модульность и поддерживаемость приложения, а также позволяет использовать микросервисную архитектуру.

Требования к ОС

  1. Версия Ubuntu

Для установки Docker вам потребуется 64-разрядная версия одной из следующих версий Ubuntu:

  • Ubuntu Lunar 23.04,
  • Ubuntu Kinetic 22.10,
  • Ubuntu Jammy 22.04 (LTS),
  • Ubuntu Focal 20.04 (LTS).

Это все версии Ubuntu, которые, согласно официальной документации, совместимы с Docker.

  1. Архитектура процессора

Docker для Ubuntu совместим с несколькими архитектурами процессоров, включая:

  • x86_64 (или amd64),
  • armhf,
  • arm64,
  • s390x
  • ppc64le (или ppc64el).
  1. Системные ресурсы

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

Рекомендуется иметь как минимум 2 ГБ оперативной памяти.

Перенос сайта в RU-CENTER за 1 рубль

Мы приглашаем вас воспользоваться специальными условиями для упрощённого перехода на обслуживание в RU-CENTER. Получите все преимущества за символическую стоимость: 

Просто воспользуйтесь промокодом WELCOME и присоединяйтесь к RU-CENTER уже сегодня.

Как удалить старые версии Docker

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

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

Неофициальными считаются следующие пакеты:

  • docker.io,
  • docker-compose,
  • docker-doc,
  • podman-docker.

Кроме того, Docker зависит от контейнерных технологий «containerd» и «runc» и поставляется с этими зависимостями в одном пакете – «containerd.io»

Если вы ранее устанавливали пакеты «containerd» или «runc», их также следует удалить, чтобы избежать конфликтов с версиями, поставляемыми с Docker.

Выполните следующую команду для удаления всех конфликтующих пакетов:

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

В конце система apt-get сообщит, что ни одного из этих пакетов не установлено.

Важно! Образы, контейнеры, тома и сети, хранящиеся в /var/lib/docker/, не будут автоматически очищены при удалении Docker. Если вы хотите начать с «чистой» установки и предпочли бы удалить уже существующие данные, воспользуйтесь инструкцией в конце этой статьи. 

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

Способ 1. Установка с помощью apt

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

  1. Обновите apt и установите пакеты, необходимые для работы с репозиторием:

sudo apt-get update

sudo apt-get install ca-certificates curl gnupg

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

sudo install -m 0755 -d /etc/apt/keyrings

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

sudo chmod a+r /etc/apt/keyrings/docker.gpg

  1. Используйте следующую команду для настройки репозитория:

echo \

"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \

"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \

sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  1. Обновите пакеты apt:

sudo apt-get update

  1. Для установки последней версии выполните:

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

  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 2022-04-01 21:30:25 UTC; 22s 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

Теперь вы успешно установили и запустили Docker.

Способ 2. Ручная установка

Если вы не можете использовать репозиторий apt для установки Docker, можете загрузить файл .deb для вашей версии ОС и установить его вручную.

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

  1. Перейдите по на официальный сайт Docker. 
  2. Выберите вашу версию Ubuntu из списка.

  1. Перейдите в каталог «pool/», затем в «stable/» и выберите соответствующую архитектуру (amd64, armhf, arm64 или s390x).
  2. Загрузите следующие файлы .deb для пакетов Docker Engine, CLI, containerd и Docker Compose:
  • containerd.io_<версия>_<архитектура>.deb.
  • docker-ce_<версия>_<архитектура>.deb,
  • docker-ce-cli_<версия>_<архитектура>.deb,
  • docker-buildx-plugin_<версия>_<архитектура>.deb,
  • docker-compose-plugin_<версия>_<архитектура>.deb.
  1. Установите пакеты .deb. Обновите пути в следующем примере в соответствии с местоположением загруженных пакетов Docker.

sudo dpkg -i ./containerd.io_<версия>_<архитектура>.deb \

./docker-ce_<версия>_<архитектура>.deb \

./docker-ce-cli_<версия>_<архитектура>.deb \

./docker-buildx-plugin_<версия>_<архитектура>.deb \

./docker-compose-plugin_<версия>_<архитектура>.deb

Демон Docker будет запущен автоматически.

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

sudo service docker start

sudo docker run hello-world

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

Hello from Docker!

This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:

The Docker client contacted the Docker daemon.

The Docker daemon pulled the "hello-world" image from the Docker Hub.

    (arm64v8)

The Docker daemon created a new container from that image which runs the

    executable that produces the output you are currently reading.

The Docker daemon streamed that output to the Docker client, which sent it

    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:

 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:

 https://hub.docker.com/

For more examples and ideas, visit:

 https://docs.docker.com/get-started/

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

Способ 1. Установка с помощью apt-get

  1. Обновите пакеты и установите последнюю версию Docker Compose:

sudo apt-get update

sudo apt-get install docker-compose-plugin

  1. Убедитесь, что Docker Compose установлен корректно, проверив его версию:

docker compose version

Ответ отобразится в формате «v2.20.3», где вместо v2.20.3 будет указана последняя установленная версия Docker Compose. 

Способ 2. Вручную

  1. Чтобы скачать и установить плагин Compose, выполните следующие действия:

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}

mkdir -p $DOCKER_CONFIG/cli-plugins

curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose

Эта команда загружает последний релиз Docker Compose (из репозитория релизов Compose) и устанавливает Compose для активного пользователя в директорию $HOME.

  1. Для установки Docker Compose для всех пользователей пропишите:

sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

  1. Убедитесь, что установка прошла корректно:

docker compose version

Версия Docker Compose будет отображена в формате «v2.20.3».

Способ 3. Установка с помощью git

  1. Установите Git:

sudo apt-get install git

  1. Чтобы убедиться в успешной установке, проверьте версию Git:

git --version

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

git version 2.20.3

  1. Для того чтобы клонировать репозиторий, перейдите на страницу Docker Compose на GitHub и скопируйте ссылку в разделе «Code».

  1. Пропишите её вместе с командой git clone:

git clone https://github.com/docker/compose.git

После выполнения этой команды начнётся процесс клонирования репозитория с GitHub.

Как удалить Docker на Ubuntu 22.04

Чтобы удалить пакеты Docker Engine, CLI, containerd и Docker Compose, выполните следующую команду:

$ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

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

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

$ sudo rm -rf /var/lib/docker

$ sudo rm -rf /var/lib/containerd

Любые изменённые файлы конфигурации также нужно будет удалить вручную.

Заключение

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

Не забудьте, что на нашем сайте есть ещё больше информации об этой платформе. Ознакомьтесь со статьями «Краткий экскурс в Docker» и «Что такое Docker контейнер», где вы найдёте полезные советы и руководства для централизованного управления контейнерами.

Всё ещё остались вопросы?