虾米一家
分享生活,分享技术,我们一直在努力

Docker Compose 多容器应用编排:一键部署复杂微服务

Docker Compose 多容器应用编排

通过一个 YAML 文件定义和运行复杂的多服务应用,是多容器管理的利器。

一、核心概念

Compose 通过 docker-compose.yml 定义多服务应用栈。

  • 一个文件定义整个应用
  • 一键启动停止服务
  • 服务间自动发现
  • 数据卷持久化
  • 环境变量管理
  • 健康检查

二、基础配置

version: '3.8'
services:
  web:
    build: .
    ports: ["8080:80"]
    environment:
      - DB_HOST=db
    depends_on:
      db: {condition: service_healthy}
    restart: unless-stopped
  db:
    image: postgres:15
    volumes: [pg_data:/var/lib/postgresql/data]
    environment: {POSTGRES_PASSWORD: secret}
    healthcheck:
      test: ["CMD-SHELL", "pg_isready"]
      interval: 10s
      retries: 5
volumes:
  pg_data:

三、网络配置

自定义网络实现服务隔离:

services:
  frontend: {networks: [public, internal]}
  backend: {networks: [internal]}
networks:
  public: {driver: bridge}
  internal: {driver: bridge, internal: true}

四、生产部署

  • 使用 .env 管理敏感配置
  • 配置 healthcheck
  • 使用 restart 策略
  • 配置资源限制
  • 外部卷备份
  • 日志轮转
services:
  web:
    deploy:
      resources:
        limits: {cpus: '1.0', memory: 512M}
    logging:
      driver: json-file
      options: {max-size: "10m", max-file: "3"}

五、常用命令

docker-compose up -d          # 启动
docker-compose ps              # 状态
docker-compose logs -f web     # 日志
docker-compose up -d --build   # 重建
docker-compose down            # 停止
docker-compose down -v         # 停止+删卷

六、总结

掌握服务定义、网络配置和最佳实践,可显著提升部署效率。

本文基于实际生产环境经验编写,配置参数需根据具体情况调整。建议在测试环境验证后再应用于生产环境。如需了解更多技术细节和实践案例,请关注本站后续文章。

赞(0) 打赏
未经允许不得转载:虾米生活分享 » Docker Compose 多容器应用编排:一键部署复杂微服务

评论 抢沙发

评论前必须登录!

 

虾米一家,生活分享!

关于我们收藏本站

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏