国外VPS部署Docker Compose全流程教程
文章分类:技术文档 /
创建时间:2025-08-15
在跨境业务、国际站点运营等场景中,国外VPS凭借更广泛的网络覆盖和稳定的国际带宽,成为部署容器化应用的热门选择。而Docker Compose作为定义多容器应用的利器,能显著简化多服务协同管理流程。本文将从环境检查到实战部署,手把手教你在国外VPS上完成Docker Compose的安装与应用部署。
一、环境准备:确认国外VPS基础条件
部署前需先检查国外VPS的基础环境。操作系统建议选择Ubuntu 20.04/22.04或CentOS 7/8,这类系统对Docker生态支持更完善。以最常见的Ubuntu系统为例,需确保:
- 具备sudo权限的用户(非root用户需添加sudo组);
- VPS已开启80/443等常用端口(可通过`ufw allow 80`命令开放);
- 网络能正常访问Docker官方仓库(国外VPS通常无需额外配置镜像加速)。
二、安装Docker:构建容器运行基础
Docker是Docker Compose的运行依赖,安装步骤如下(以Ubuntu 22.04为例):
更新包索引并安装依赖
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
添加Docker官方GPG密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
添加Docker仓库
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装Docker引擎
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装完成后,通过`docker run hello-world`验证,若输出"Hello from Docker!"则表示安装成功。小技巧:可通过`sudo systemctl enable docker`设置Docker开机自启,避免VPS重启后服务中断。
三、安装Docker Compose:多容器管理工具
Docker 20.10+版本已内置Compose插件(通过`docker compose`命令调用),若需传统独立版本(如旧版兼容),可执行以下命令:
下载指定版本(示例为2.20.3,可访问GitHub获取最新版本号)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
赋予执行权限并验证
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version # 应输出版本信息
注意:若国外VPS网络访问GitHub较慢,可尝试使用镜像站(如ghproxy.com)加速下载,格式为`https://ghproxy.com/https://github.com/...`。
四、实战部署:用Docker Compose运行Nginx服务
以部署Nginx静态网站为例,演示完整流程:
1. 创建项目目录:`mkdir ~/nginx-demo && cd ~/nginx-demo`;
2. 编写docker-compose.yml:
version: '3.8'
services:
web:
image: nginx:alpine # 轻量版镜像节省资源
ports:
- "80:80" # 映射VPS80端口到容器80端口
volumes:
- ./html:/usr/share/nginx/html # 挂载本地html目录到容器
restart: always # 容器意外退出时自动重启
mem_limit: 256m # 限制内存使用不超过256MB
3. 启动服务:`docker-compose up -d`(-d表示后台运行);
4. 验证访问:通过国外VPS的公网IP(如`http://123.45.67.89`)访问,若看到Nginx欢迎页则部署成功。
五、日常运维:常用命令与注意事项
- 停止服务:`docker-compose down`(同时删除容器和网络);
- 查看日志:`docker-compose logs -f`(-f实时追踪日志);
- 重启服务:`docker-compose restart web`(仅重启web服务);
- 优化建议:若部署生产环境,可在`docker-compose.yml`中添加`cpus: 1`限制CPU核心数,避免单个容器占用过多资源;国外VPS的原生IP可确保容器公网访问的稳定性,选择时优先确认IP归属地。
通过以上步骤,你已能在国外VPS上熟练使用Docker Compose管理多容器应用。从开发测试到生产部署,这套流程能显著提升应用交付效率,尤其适合需要快速扩展的跨境业务场景。