Docker пакує застосунок і все необхідне для нього в контейнер, який працює однаково будь-де — найчистіший спосіб самостійно хостити сервіси на VPS. Єдина пастка на Ubuntu та Debian — версія у власному репозиторії дистрибутива часто застаріла й постачається без сучасного плагіна Compose. Натомість встановлюйте з офіційного репозиторію Docker. Ось увесь процес.
1. Налаштуйте офіційний репозиторій Docker (Ubuntu)
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
2. Встановіть Docker Engine і Compose
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3. Переконайтеся, що він працює й увімкнений при завантаженні
sudo systemctl enable --now docker
sudo docker run --rm hello-world
Контейнер hello-world завантажується, виводить повідомлення про успіх і завершується — доказ, що движок працює.
4. (Опційно) Запускайте Docker без sudo
sudo usermod -aG docker $USER
# вийдіть і зайдіть знову, щоб зміна групи набула чинності
Робіть це лише для довіреного користувача — доступ до групи docker фактично дорівнює root на хості.
Швидкий реальний контейнер
docker run -d --restart unless-stopped -p 8080:80 --name web nginx
# відкрийте http://YOUR.SERVER.IP:8080
--restart unless-stopped — саме те, що змушує контейнер підніматися після перезавантаження.
Чесні застереження
- Використовуйте офіційний репозиторій для актуальної версії; пакет
docker.ioз дистрибутива застарілий і не має плагіна Compose. - Відкривайте лише ті порти, які публікуєте.
-p 8080:80контейнера виставляє назовні 8080 — поєднуйте Docker із фаєрволом UFW. - Підбирайте розмір сервера під контейнери, а не під сам Docker, який легкий.
Що далі
Зі встановленим Docker можна самостійно хостити майже все. Дивіться самохостинг кількох сервісів за однією IP або конкретні збірки на Docker, як-от сервер віддаленого робочого столу RustDesk і моніторинг Uptime Kuma. Щоб виставити домен і HTTPS попереду, дивіться як налаштувати реверс-проксі nginx.
Коментарі
Поки немає коментарів. Будьте першим.