Docker Compose一键搭建跨境站环境

写在前面

很多刚接触跨境建站的朋友都在找一个能快速在服务器上部署运行环境的方案。
手动安装 Nginx、PHP、MySQL 等组件,费时还容易踩坑。
用 Docker Compose 可以一条命令拉起整个环境,今天这篇教程就围绕 Docker Compose 一键搭建跨境站环境 展开,从零开始讲清楚每一步,让你照着做就能完成。

环境检查与准备工作

操作之前,先确认服务器满足以下条件:

  • 已安装 Docker 和 Docker Compose。如果还没装,推荐使用一键安装脚本:curl -fsSL https://get.docker.com | bash,然后 sudo apt install docker-compose(Ubuntu 20.04 以上)。
  • 服务器内存至少 1GB,硬盘 20GB 以上。跨境站通常需要处理图片和数据库,空间大一些更稳妥。
  • 开放 80 和 443 端口(如果计划上 SSL)。
  • 准备好域名并解析到服务器 IP。

确认 Docker 是否正常运行:

docker --version
docker-compose --version

如果能正常显示版本号,就可以继续了。

编写 docker-compose.yml 文件

创建一个项目目录,比如 cross-border-site,然后在该目录下新建 docker-compose.yml 文件。
下面是一个常见的跨境站环境配置,包含 Nginx、PHP 7.4、MySQL 5.7 和 phpMyAdmin(方便管理数据库)。

version: '3.8'

services:
  web:
    image: nginx:stable-alpine
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./www:/var/www/html
      - ./nginx/conf.d:/etc/nginx/conf.d
      - ./nginx/ssl:/etc/nginx/ssl
    depends_on:
      - php

  php:
    image: php:7.4-fpm-alpine
    volumes:
      - ./www:/var/www/html
    environment:
      - PHP_MAX_EXECUTION_TIME=120

  db:
    image: mysql:5.7
    restart: always
    volumes:
      - ./db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: your_root_password
      MYSQL_DATABASE: site_db
      MYSQL_USER: site_user
      MYSQL_PASSWORD: site_user_password

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    ports:
      - "8080:80"
    environment:
      PMA_HOST: db
      PMA_PORT: 3306
    depends_on:
      - db

要点说明

  • ./www 是你的网站文件目录,把跨境站的程序(如 WordPress、Shopify 本地版、自建电商系统)放到这里。
  • ./nginx/conf.d 用来放单独的 nginx 配置文件(比如伪静态规则)。
  • 数据库密码建议用复杂密码,生产环境不要用简单密码。
  • phpMyAdmin 默认映射到 8080 端口,方便通过浏览器管理数据库。

启动容器组

在项目目录下执行:

docker-compose up -d

-d 参数表示后台运行。
等待几秒钟,镜像会自动拉取并启动。
第一次启动时间较长,因为要下载镜像。
启动成功后用以下命令查看所有容器状态:

docker-compose ps

如果所有服务都显示 Up,就说明环境搭建成功了。

这时可以尝试访问服务器的公网 IP 或域名,应该能看到 Nginx 默认欢迎页(前提是 ./www 目录下还没有 index 文件)。
验证 PHP 是否工作,可以在 ./www 目录下新建一个 info.php

访问 http://你的ip/info.php,如果显示 PHP 信息页面就表示 PHP 解析正常。

避坑提醒

  • 端口冲突:如果服务器上已有 Nginx 或 Apache 占用了 80/443 端口,先停止它们,或者修改 docker-compose 的端口映射(比如改成 8080:80)。
  • 文件权限:跨境站通常需要上传文件,目录权限要为 www-data:www-data。可以进入 PHP 容器执行 chown -R www-data:www-data /var/www/html
  • 数据库连接:网站程序连接数据库时,主机名要填 db(即服务名称),而不是 localhost
  • SSL 证书:如果需要 HTTPS,可以提前将证书文件放到 ./nginx/ssl 目录,并在 nginx 配置中引用。
  • 内存不足:如果服务器内存只有 1GB,建议限制 MySQL 内存占用,在 docker-compose.yml 的 db 服务下添加 command: --innodb_buffer_pool_size=256M

验证跨境站环境是否就绪

以上步骤完成后,可以上传一个完整的跨境站程序(例如 WordPress)到 ./www,然后通过浏览器安装。
如果安装过程无报错,说明环境完全可用。

你也可以用以下命令实时查看日志:

docker-compose logs -f web

如果出现问题,一般会在日志中显示具体原因。
常见错误包括目录不存在、配置文件语法错误、数据库连接失败等,根据日志提示排查即可。

简单总结一下,Docker Compose 一键搭建跨境站环境 的核心就是写好 docker-compose.yml 文件,然后一条命令启动。
本文提供的配置适合大多数跨境站场景,你可以根据自己的需求调整 PHP 版本、数据库版本或添加 Redis 缓存等服务。
如果执行过程中遇到其他问题,欢迎反馈交流。

分享到:
上一篇
网站不受支持协议浏览器兼容优化:网站显示不受支持协议?浏览器
下一篇
Linux用户登录日志审计异常账号
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意