2 min read

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

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

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

Установка Docker и Docker Compose

sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
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 $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

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

Docker Compose отдельно

Compose уже идёт в составе docker-compose-plugin, но если нужна автономная версия:

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

Проверка версии:

docker-compose --version

Проверка установки

docker --version
docker run hello-world

Если контейнер hello-world отработал и вывел приветствие — Docker установлен и работает корректно.

Настройка

Автозапуск при загрузке системы

sudo systemctl enable --now docker

Проверка статуса:

sudo systemctl status docker

Запуск без sudo

По умолчанию команды Docker требуют root-прав. Чтобы работать от обычного пользователя — добавляю его в группу docker:

sudo usermod -aG docker $USER
newgrp docker

После этого docker ps и другие команды работают без sudo. Нужно перелогиниться или выполнить newgrp docker, чтобы изменение группы применилось в текущей сессии.

Базовые команды

  • docker ps — список запущенных контейнеров
  • docker ps -a — список всех контейнеров, включая остановленные
  • docker images — список загруженных образов
  • docker run -d -p 80:80 nginx — запустить контейнер с Nginx в фоне
  • docker stop <container_id> — остановить контейнер
  • docker rm <container_id> — удалить контейнер
  • docker rmi <image_id> — удалить образ

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


Если хочешь обсудить похожую задачу — пиши на [email protected] или заходи на 1it.pro.

Связаться с нами
Telegram
WhatsApp
Email