OffshoreVps
Инструкции12 окт. 20267 мин чтенияАвтор: команда OffshoreVps

Как установить Docker и Docker Compose на VPS с Ubuntu

Установите Docker Engine из официального репозитория, запускайте его без sudo, запустите первый сервис Compose и избегайте ловушки брандмауэра, из-за которой открываются порты.

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

Окно терминала на VPS с командами для установки Docker на VPS с Ubuntu, начиная с «sudo apt update»
Примерно такие команды вы будете выполнять на своём сервере в этом руководстве.

1. Установка из репозитория 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

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

Проверьте установку командой sudo docker run hello-world.

2. Запуск Docker без sudo

sudo usermod -aG docker $USER
newgrp docker

Участники группы docker фактически обладают правами root на машине, поэтому добавляйте только тех пользователей, которым доверяете.

3. Ваш первый файл Compose

Создайте папку и файл compose.yaml, который запускает инструмент мониторинга Uptime Kuma:

mkdir -p ~/kuma && cd ~/kuma
cat > compose.yaml <<'EOF'
services:
  kuma:
    image: louislam/uptime-kuma:1
    restart: unless-stopped
    ports:
      - "127.0.0.1:3001:3001"
    volumes:
      - ./data:/app/data
EOF
docker compose up -d

Привязка к 127.0.0.1 не выставляет порт в публичный интернет. Поставьте перед ним обратный прокси, например Nginx или Caddy, когда захотите обращаться к нему извне.

Шаги этого руководства по порядку: 1. 1. Установите из репозитория Docker; 2. 2. Запускайте Docker без sudo; 3. 3. Ваш первый файл Compose; 4. Повседневные команды; 5. Предупреждение о безопасности брандмауэров; 6. Что запускать дальше
Шаги этого руководства по порядку.

Повседневные команды

  • docker ps показывает список запущенных контейнеров.
  • docker compose logs -f следит за логами.
  • docker compose pull && docker compose up -d обновляет до более новых образов.
  • docker system prune удаляет неиспользуемые образы и остановленные контейнеры.

Предупреждение о безопасности брандмауэров

Docker записывает собственные правила iptables. Порт, опубликованный как "8080:80", может быть доступен из интернета, даже если UFW сообщает, что он заблокирован. Публикуйте только то, что должно быть общедоступным, привязывайте приватные сервисы к 127.0.0.1 и проверяйте снаружи сканером портов.

Что запускать дальше

Среди популярных приложений для самостоятельного хостинга Nextcloud, Vaultwarden, Gitea, Plausible, n8n и Jellyfin. Полный пример смотрите в нашем руководстве по самостоятельному хостингу Nextcloud.