Docker Compose模板大全:从入门到实战的完整指南

为什么你需要一份Docker Compose模板大全


对于服务器运维新手来说,手动配置容器启动参数很容易漏掉端口映射、数据卷挂载或环境变量,导致服务跑不起来。Docker Compose模板可以把这些配置写在一个 docker-compose.yml 文件里,一条命令搞定整个服务栈。

本教程从零开始,带你使用Docker Compose模板大全快速部署高频服务,并学会自定义调整。


前置准备:安装 Docker 和 Compose


确保你的服务器已经安装 Docker 和 Docker Compose。

以下适用于 CentOS 7+ / Ubuntu 20.04+:



  1. 安装 Docker(若未安装):


   curl -fsSL https://get.docker.com | bash
sudo systemctl enable --now docker


  1. 安装 Docker Compose(若版本低于 2.x):


   sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose


  1. 验证安装:运行 docker --versiondocker-compose --version 应看到版本号。


核心模板库:常用服务的一键部署


以下模板均经过测试,复制到服务器新建目录下(如 ~/services/nginx)的 docker-compose.yml 文件即可。


1. Nginx 静态站点


version: '3.8'
services:
nginx:
image: nginx:alpine
ports:

  • "80:80"

volumes:

  • ./html:/usr/share/nginx/html:ro

restart: always


使用 docker-compose up -d 启动,将静态文件放入当前目录的 html 文件夹即可访问。


2. MySQL 8.0 数据库


version: '3.8'
services:
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: my_root_pwd
MYSQL_DATABASE: mydb
MYSQL_USER: user
MYSQL_PASSWORD: user_pwd
ports:

  • "3306:3306"

volumes:

  • ./mysql_data:/var/lib/mysql

restart: always


启动后可用 mysql -h 服务器IP -u user -p 远程连接。注意:首次启动会初始化数据,建议先关闭防火墙或开放端口。


3. Redis 缓存


version: '3.8'
services:
redis:
image: redis:7-alpine
ports:

  • "6379:6379"

command: redis-server --requirepass my_redis_password
volumes:

  • ./redis_data:/data

restart: always


启动后通过 redis-cli -a my_redis_password 测试连接。


4. WordPress + MySQL 完整网站


version: '3.8'
services:
wordpress:
image: wordpress:latest
ports:

  • "8080:80"

environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: wp_pass
WORDPRESS_DB_NAME: wp_db
volumes:

  • ./wp_data:/var/www/html

depends_on:

  • db

restart: always
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: wp_db
MYSQL_USER: wp_user
MYSQL_PASSWORD: wp_pass
volumes:

  • ./db_data:/var/lib/mysql

restart: always


访问 http://IP:8080 即可安装 WordPress。


避坑指南:常见问题与解决方法



  • 端口冲突:启动时报 port is already allocated,先运行 docker ps 查看占用端口的容器,或修改 docker-compose.ymlports 映射的宿主机端口。

  • 容器启动后立即退出:用 docker-compose logs 查看日志,常见原因是数据卷权限问题(如 MySQL 数据目录无法写入)。添加 user: "1000:1000" 或修改目录权限。

  • 环境变量未生效:检查 docker-compose.ymlenvironment 的键值是否拼写正确,重启时推荐先 docker-compose downup -d

  • 模板版本兼容性:请确保 Docker Compose 版本 >= 1.27,否则部分语法不支持。升级 Compose 到最新版即可。


验证模板与后续调整


部署完成后,按以下步骤验证服务是否正常运行:



  1. 执行 docker-compose ps,确认所有容器状态为 Up

  2. 执行 docker-compose logs -f 实时查看启动日志,无 ERROR 即正常。

  3. 通过浏览器或客户端连接服务(如访问 Nginx 默认页、连接 MySQL、测试 Redis 读写)。

  4. 如果想修改配置,编辑 docker-compose.yml 后执行 docker-compose down && docker-compose up -d 重建容器。


建议将模板保存到 Git 仓库,方便后续复用。

如果你正在处理Docker Compose模板大全,可以按以上步骤挑选合适的模板先跑起来,遇到异常时优先回看避坑部分。

熟练后即可轻松组合多服务并自定义环境变量,实现快速部署。

分享到:
上一篇
Linux文件权限chmod chown:Linux文件权限从入门到实操:chm
下一篇
服务器高危端口关闭防护:新手也能操作
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意