美国VPS Linux:Docker Compose部署多服务应用实战案例
文章分类:更新公告 /
创建时间:2025-09-01
在企业级应用部署中,像电商平台的前端页面、用户中心、支付系统这类多服务协同运行的场景极为常见。如何让不同服务高效配合?美国VPS Linux环境下,Docker Compose凭借"一键编排多容器"的特性,成为解决这一问题的实用工具。本文以Web服务+MySQL数据库的部署为例,带你实操多服务协同部署全流程。
部署前:环境与工具准备
首先需要一台已安装Linux系统的美国VPS(本文以Ubuntu 20.04为例),确保系统已安装Docker引擎和Docker Compose工具。可通过以下命令检查安装状态:
docker --version # 查看Docker版本,输出类似Docker version 24.0.6
docker-compose --version # 查看Docker Compose版本,输出类似v2.21.0
若未安装,Ubuntu系统可执行以下命令快速安装(需root权限):
# 安装Docker
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
安装Docker Compose
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
实战:Web服务与数据库协同部署
假设要部署一个简单的企业官网应用,包含Nginx静态页面服务和MySQL用户信息数据库,具体操作分六步完成。
步骤1:创建项目目录结构
在用户主目录下创建项目根目录,并初始化必要文件:
mkdir -p ~/multi-app/{nginx,mysql}
cd ~/multi-app
touch docker-compose.yml
步骤2:编写Nginx服务Dockerfile
进入nginx目录,创建Dockerfile用于构建自定义Nginx镜像:
FROM nginx:1.25-alpine # 使用轻量版基础镜像
COPY nginx.conf /etc/nginx/nginx.conf # 复制自定义配置
COPY ./html /usr/share/nginx/html # 复制静态页面文件
步骤3:配置Nginx服务参数
在nginx目录下创建nginx.conf,定义基础服务规则:
events { worker_connections 1024; }
http {
server {
listen 80;
server_name _;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
}
同时在nginx/html目录放入自定义的index.html静态页面文件。
步骤4:定义MySQL服务参数
在mysql目录创建my.cnf文件(可选),用于自定义MySQL配置:
[mysqld]
character-set-server=utf8mb4
default-storage-engine=INNODB
步骤5:编写docker-compose.yml编排文件
回到项目根目录,编辑docker-compose.yml定义服务依赖关系:
version: '3.8'
services:
web:
build: ./nginx # 基于当前目录的nginx/Dockerfile构建
ports: ["80:80"] # 映射主机80端口到容器80端口
depends_on: # 确保数据库先启动
- db
networks: [app-net] # 加入自定义网络
db:
image: mysql:8.0 # 使用MySQL 8.0官方镜像
environment: # 配置数据库凭证
MYSQL_ROOT_PASSWORD: "Root@123"
MYSQL_DATABASE: "user_db"
MYSQL_USER: "app_user"
MYSQL_PASSWORD: "App@456"
volumes: # 数据持久化存储
- ./mysql/data:/var/lib/mysql
- ./mysql/my.cnf:/etc/mysql/conf.d/my.cnf
networks: [app-net] # 加入同一网络实现互通
command: --default-authentication-plugin=mysql_native_password # 兼容旧版认证
networks:
app-net: # 自定义桥接网络
driver: bridge
步骤6:启动与验证服务
在项目根目录执行启动命令:
docker-compose up -d # -d参数表示后台运行
通过以下命令检查服务状态:
docker-compose ps # 查看服务运行状态
docker logs web # 查看Web服务日志
docker exec -it multi-app_db_1 mysql -u app_user -p # 进入MySQL容器验证连接
最后在浏览器输入美国VPS的公网IP,若能看到自定义的index.html页面,且MySQL能正常连接并创建数据表,说明部署成功。
通过这套流程可以发现,美国VPS Linux结合Docker Compose,能将原本复杂的多服务部署简化为"编写配置-一键启动"的高效操作。无论是企业官网、API服务还是微服务架构,这种模式都能显著降低运维成本,是中小团队快速搭建生产环境的优选方案。