1.
2.
sudo apt update && sudo apt upgrade -y;2) 建立管理员账号并配置 SSH 密钥,禁用密码登录;3) 调整时区为 Asia/Tokyo:sudo timedatectl set-timezone Asia/Tokyo。
3.
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release;2) 添加 Docker 源并安装 Docker CE:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 然后按官方步骤安装;3) 安装 docker-compose:sudo apt install -y docker-compose-plugin;4) 将用户加入 docker 组:sudo usermod -aG docker $USER(注销重登录生效)。
4.
FROM node:18-alpine\nWORKDIR /app\nCOPY package*.json ./\nRUN npm ci --only=production\nCOPY . .\nCMD [\"node\",\"index.js\"];2) 本地构建:docker build -t myapp:latest .;3) 运行测试:docker run -d --name myapp -p 3000:3000 myapp:latest。
5.
version: '3.8'\nservices:\n web:\n image: myapp:latest\n ports:\n - \"80:3000\"\n deploy:\n resources:\n limits:\n cpus: '0.5'\n memory: 512M;2) 启动:docker compose up -d;3) 查看日志:docker compose logs -f。
6.
sudo ufw allow 22/tcp; sudo ufw allow 80/tcp; sudo ufw enable;2) 使用 nginx 反向代理与 Let's Encrypt 获取证书(certbot);3) 限制暴露端口,仅暴露必要端口,管理面板上设置 DDoS/流量警告。
7.
8.
restart: unless-stopped;2) 配置轻量监控(Prometheus + cAdvisor 或使用 UptimeRobot 外部监控);3) 定期清理旧镜像与容器:docker system prune -af,可写为 cron 任务。
9.
docker run --rm --volumes-from mydb -v $(pwd):/backup ubuntu tar czf /backup/db-backup.tar.gz /var/lib/mysql;3) 定期将备份上传到远程存储(S3 或 FTP)。
10.
11.
12.