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

Предпосылки

Перед установкой Docker в Ubuntu убедитесь, что у вас есть:

  • Система Ubuntu версии 20.04 или более поздней.
  • Привилегии sudo для установки пакетов.
  • Доступ к терминалу или командной строке.

Шаг 1: Удалите старые версии

Важно удалить все старые установки Docker, чтобы предотвратить конфликты. Чтобы удалить старые версии, выполните:

sudo apt-get remove docker docker-engine docker.io containerd runc

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

Шаг 2: Обновите список пакетов

Обновите существующий список пакетов, чтобы убедиться, что у вас установлена ​​последняя доступная версия:

sudo apt-get update

Шаг 3: Установка необходимых пакетов

Установите пакеты, которые позволяют apt использовать пакеты по HTTPS:

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

Эти пакеты гарантируют безопасность передачи пакетов и загрузку правильных версий.

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

Добавление ключа 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

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

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

Добавьте репозиторий Docker к источникам APT, выполнив:

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 в вашу систему, чтобы вы могли установить Docker из него.

Шаг 6: Повторное обновление индекса пакетов.

После добавления репозитория Docker обновите индекс пакетов:

sudo apt-get update

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

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

Установите последнюю версию Docker Engine и containerd с помощью следующей команды:

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

Эта команда устанавливает Docker Engine и связанные с ним компоненты, необходимые для запуска Docker.

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

Чтобы проверить правильность установки Docker Engine, запустите образ hello-world:

sudo docker run hello-world

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

Необязательно: управляйте Docker как пользователь без прав root

По умолчанию команда docker может быть запущена только пользователем root или пользователем в группе docker. Чтобы избежать использования sudo с каждой командой Docker, добавьте своего пользователя в группу docker:

sudo usermod -aG docker ${USER}

Чтобы применить новое членство в группе, выйдите из системы и войдите снова. Убедитесь, что ваш пользователь теперь добавлен в группу docker:

groups

Вы должны увидеть docker в списке групп.

Базовое использование Docker

Теперь, когда Docker установлен, вы можете начать использовать его для запуска контейнеров. Например, чтобы запустить контейнер Ubuntu в интерактивном режиме:

docker run -it ubuntu /bin/bash

Эта команда извлекает образ Ubuntu (если он еще не загружен) и запускает оболочку bash внутри нового контейнера.

Внутри контейнера вы можете запускать команды так же, как и в любой системе Ubuntu. Чтобы выйти из контейнера, введите exit.

Управление Docker-контейнерами

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

docker ps

Чтобы получить список всех контейнеров (работающих и завершенных):

docker ps -a

Чтобы остановить работающий контейнер:

docker stop [container_id]

Замените [container_id] фактическим идентификатором контейнера, полученным из docker ps.

Чтобы удалить неактивный контейнер:

docker rm [container_id]

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

Written by Иван Васильков

Системный администратор и DevOps с опытом 10+ лет.