Docker · Nginx · Cloudflare · SSL · CI/CD
Обновляем систему и ставим базовые утилиты.
sudo apt update && sudo apt upgrade -y
Ставим Docker и включаем автозапуск.
sudo apt install docker.io -y
sudo systemctl enable docker
sudo systemctl start docker
Добавляем пользователя в группу docker:
sudo usermod -aG docker $USER
Простой контейнер для сайта:
services:
mysite:
image: nginx:alpine
ports:
- "8081:80"
volumes:
- ./html:/usr/share/nginx/html
Проксируем домен на Docker контейнер.
server {
listen 80;
server_name mysite.ru www.mysite.ru;
location / {
proxy_pass http://localhost:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Настраиваем домен:
Важно: сначала DNS only - (серое облако)
Установка HTTPS через Certbot:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d mysite.ru -d www.mysite.ru
docker ps
sudo systemctl status nginx
sudo ss -tulpn | grep :80
curl http://localhost:8081
Internet → Cloudflare → Nginx → Docker → Website