1. Блог
  2. Мануали

Як встановити Docker на Ubuntu 22.04, 24.04 і 26.04

Як встановити Docker на Ubuntu 22.04, 24.04 і 26.04

Docker пакує застосунок разом із його залежностями в контейнер, який однаково запускається на будь-якому сервері. Нижче — встановлення актуальної версії на Ubuntu з офіційного репозиторію Docker і налаштування, які варто зробити одразу.

Чому не пакет із репозиторію Ubuntu

В Ubuntu є власний пакет docker.io, але він оновлюється із затримкою. Офіційний репозиторій Docker дає свіжу версію рушія та плагіни Compose і Buildx.

Крок 1. Видаліть старі пакети

sudo apt remove docker.io docker-doc docker-compose podman-docker containerd runc

Якщо пакети не встановлено, команда просто повідомить про це.

Крок 2. Підключіть репозиторій Docker

sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Крок 3. Встановіть Docker

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

Служба запускається автоматично й увімкнена в автозавантаження. Перевірте:

sudo systemctl status docker
sudo docker run --rm hello-world

Крок 4. Робота без sudo

sudo usermod -aG docker $USER

Увійдіть у систему заново. Пам’ятайте: користувач із групи docker фактично має права root.

Крок 5. Обмежте розмір логів

Типово журнали контейнерів ростуть без обмежень і з часом заповнюють диск. Створіть файл /etc/docker/daemon.json:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

Перезапустіть службу:

sudo systemctl restart docker

Налаштування діє на контейнери, створені після перезапуску.

Основні команди

Команда Що робить
docker ps список запущених контейнерів (-a — усіх)
docker images список завантажених образів
docker run -d --name web -p 8080:80 nginx запустити контейнер у фоні
docker logs -f web журнал контейнера в реальному часі
docker exec -it web sh відкрити командний рядок усередині контейнера
docker stop web / docker start web зупинити й запустити
docker rm web видалити контейнер
docker compose up -d запустити сервіси з docker-compose.yml

Docker і файрвол

Docker сам керує правилами мережевого фільтра, тому порт, опублікований через -p 8080:80, доступний з інтернету, навіть якщо UFW його не дозволяє. Щоб сервіс був доступний лише локально, публікуйте порт на локальній адресі:

docker run -d -p 127.0.0.1:8080:80 nginx

Очищення диска

Подивитися, скільки місця займає Docker:

docker system df

Видалити зупинені контейнери, невикористовувані мережі та образи без тегів:

docker system prune

З ключем -a видаляються всі образи, які не використовуються контейнерами, з --volumes — ще й невикористовувані томи. З томами будьте обережні: у них зберігаються дані.

Оновлення та видалення

Docker оновлюється разом із системою:

sudo apt update && sudo apt upgrade

Повне видалення разом з образами, контейнерами й томами:

sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker /var/lib/containerd

Що далі

  • Portainer — вебінтерфейс для керування контейнерами.
  • Dozzle — перегляд логів у браузері.
  • Watchtower — автоматичне оновлення контейнерів.

Відеоінструкція

YouTube video