1.
(1)选择供应商:选用较靠近台湾节点的 VPS(如香港/台湾机房或台湾本地提供商),优先选择 SSD、1G 内存以上与可快照备份的方案。
(2)镜像与带宽:建议选择 Ubuntu 22.04 LTS 或 Debian 11,带宽至少 100Mbps;确认是否支持 root SSH key 登录与防火墙规则。
2.
(1)在本地生成密钥:ssh-keygen -t ed25519 -C "your_email"(或 rsa),将公钥添加到 VPS 控制面板或 ~/.ssh/authorized_keys。
(2)首次登录并基础配置:ssh root@your_ip;执行 apt update && apt upgrade -y,设定非 root 管理用户:adduser deploy && usermod -aG sudo deploy。
3.
(1)官方安装(Ubuntu/Debian): sudo apt-get remove docker docker-engine docker.io containerd runc sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release -y curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
(2)配置权限:sudo usermod -aG docker deploy,启用并测试:sudo systemctl enable --now docker;docker run hello-world。
4.
(1)Node 示例 Dockerfile: FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . CMD ["node","index.js"]
(2)构建与运行: docker build -t myapp:1.0 . docker run -d --name myapp -p 3000:3000 --restart unless-stopped myapp:1.0
5.
(1)docker-compose.yml 示例: version: '3.8' services: app: image: myapp:1.0 restart: unless-stopped expose: - "3000" environment: - NODE_ENV=production nginx: image: nginx:stable-alpine ports: - "80:80" - "443:443" volumes: - ./nginx/conf.d:/etc/nginx/conf.d depends_on: - app
(2)启动: docker compose up -d 检查日志:docker compose logs -f nginx
6.
(1)Caddy 最简例(自动 TLS): services: caddy: image: caddy:2 ports: ["80:80","443:443"] volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config restart: unless-stopped
(2)Caddyfile 示例指向内部服务:example.com { reverse_proxy app:3000 }
7.
(1)UFW 基础规则: sudo apt install ufw -y sudo ufw allow OpenSSH sudo ufw allow 80,443/tcp sudo ufw enable
(2)容器安全:Dockerfile 使用无 root 用户运行,避免在容器中暴露敏感凭证,使用 .env 管理环境变量并在主机上设置权限。
8.
(1)本地构建并推送到私有 Registry 或 Docker Hub: docker build -t registry.example.com/myapp:latest . docker push registry.example.com/myapp:latest
(2)远端拉取并更新: docker compose pull docker compose up -d --no-deps --build app
9.
(1)常用命令:查看进程 docker ps;容器资源 docker stats;日志 docker logs -f CONTAINER。
(2)清理缓存:docker system prune -af --volumes,定期做镜像与数据快照备份,观察带宽与 I/O,调整副本或使用轻量基础镜像(alpine)。
10.
答:容器化能把应用与依赖打包,快速部署与回滚、节省资源(相比虚拟机更轻量)、便于水平扩展与自动化 CI/CD,同时利用本地机房可减少延迟,适合对响应速度要求高的台港澳用户。
11.
答:使用 docker run/compose 的 restart: unless-stopped 或 systemd 服务管理,结合 VPS 提供商快照、备份策略和定期健康检查(docker healthcheck + 监控),能确保重启后自动恢复并快速回滚到稳定镜像。
12.
答:先用 ss -tulpn 或 netstat 查端口占用,docker ps 与 docker logs 排查容器崩溃;用 docker stats 定位 CPU/内存瓶颈,必要时扩容 VPS、调整容器资源限制(--memory, --cpus)或拆分微服务降低单容器压力。