Установка Docker и Docker Compose на Ubuntu по шагам
Установка Docker Engine из официального репозитория, работа без root, первый контейнер и управление стеками через Compose.
Руководства · 1 мин чтения
Docker запускает приложения вместе с зависимостями в изолированных контейнерах. Это самый практичный способ разместить много сервисов на одном сервере без конфликтов. В руководстве Docker Engine и Docker Compose устанавливаются из официального репозитория на Ubuntu 24.04.
Требования
- Облачный сервер с Ubuntu 22.04 или 24.04 и пользователь с правами
sudo(см. Подключение по SSH). - Система должна быть обновлена:
sudo apt update && sudo apt upgrade -y
1. Добавьте официальный репозиторий
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
sudo apt update
2. Установите Docker Engine
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
docker --version
docker compose version
3. Проверьте установку
sudo docker run --rm hello-world
Если вы видите «Hello from Docker!», установка завершена.
4. Работа без root (по желанию)
sudo usermod -aG docker $USER
newgrp docker
Замечание по безопасности: пользователь в группе docker фактически имеет права root. Добавляйте только тех, кому доверяете.
5. Ваш первый файл Compose
Создайте папку и запишите в ней compose.yaml. Пример — простой веб-сервер.
services:
web:
image: nginx:alpine
restart: unless-stopped
ports:
- "8080:80"
docker compose up -d # запуск
docker compose ps # состояние
docker compose logs -f # журналы
docker compose down # остановка и удаление
По адресу http://IP_СЕРВЕРА:8080 вы увидите страницу приветствия Nginx. Для реальных приложений вместо открытия портов в интернет используйте обратный прокси: автоматический HTTPS с Caddy.
Полезные команды
| Команда | Что делает |
|---|---|
docker ps -a | Показывает все контейнеры |
docker compose pull && docker compose up -d | Обновляет образы и перезапускает |
docker system df | Показывает использование диска |
docker system prune -a | Удаляет неиспользуемые образы и контейнеры (осторожно) |
На что обратить внимание
- Docker может публиковать порты в обход брандмауэра (UFW); публикуйте только нужные порты и ставьте их за обратный прокси (форма
127.0.0.1:8080:80разрешает только локальный доступ). - Храните данные в томах (volumes), а не внутри контейнера — иначе при удалении контейнера они пропадут.
- Регулярно делайте снимки и резервные копии вне сервера.
Начните с Melinhost
Для Docker хорошим стартом станет облачный сервер с 4 vCPU и 8 ГБ RAM. Полный доступ root позволяет настроить окружение как угодно.