Как установить Docker на Ubuntu
Скопируйте и выполните команды по очереди. Они из официальной документации Docker и подходят для Ubuntu 22.04 LTS и новее (64-битной).
1. Удалите конфликтующие пакеты
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)Если ничего такого не стояло, apt скажет, что удалять нечего.
2. Подключите репозиторий Docker
sudo apt update
sudo apt install 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
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update3. Установите Docker и Compose
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin4. Проверьте
sudo systemctl status docker
sudo docker run hello-world
docker compose versionСлужба должна быть active (running) (выход из просмотра — q), а контейнер hello-world — напечатать Hello from Docker!. Служба запускается сама и после каждой перезагрузки.
5. Работа без sudo
sudo usermod -aG docker $USERВыйдите из системы и войдите снова (по SSH — переподключитесь), затем проверьте docker run hello-world без sudo.
Группа docker даёт права, равные root: её участник может через контейнер изменить любой файл системы. Добавляйте туда только администраторов.
Подводные камни
- Linux Mint, Pop!_OS и другие производные Ubuntu официально не поддерживаются. Строка
Suitesберёт кодовое имя изUBUNTU_CODENAME, поэтому на производных обычно тоже работает, но гарантий нет. - Не смешивайте способы. Пакет
docker.ioиз Ubuntu и пакетыdocker-ceиз репозитория Docker конфликтуют. Выберите один — для этого и нужен шаг 1. - Брандмауэр. Порты, которые вы опубликуете ключом
-p, Docker откроет в обход ufw. Как с этим быть — в справке Docker открывает порты в обход ufw. - Обновления приходят вместе с системными:
sudo apt update && sudo apt upgrade. - Запасной вариант без чужого репозитория:
sudo apt install docker.io docker-compose-v2 docker-buildx— версия постарше, но команды те же.
Подробно, с пояснением каждой команды, — в уроке Установка Docker.