Docker Compose实战:一条命令批量启动多个关联容器的正确姿势

在Docker日常使用中,很多同学对docker rundocker-compose的边界搞不清楚。今天用实战案例讲清楚:什么时候用Compose、怎么写Compose文件、如何一键启停整套服务。

一、什么时候该用 Docker Compose

当你的服务由多个关联容器组成时(例如 Nginx + PHP-FPM + MySQL + Redis),强烈建议使用docker-compose。它支持依赖管理、网络互通、环境隔离和一键启停,避免一条条手动docker run的繁琐和遗漏。

二、一个最小可用的示例

version: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    depends_on:
      - php
  php:
    image: php:8.2-fpm
    volumes:
      - ./www:/var/www/html
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: yourpassword
    volumes:
      - db_data:/var/lib/mysql
volumes:
  db_data:

三、常用命令

  • docker-compose up -d:后台启动整套服务
  • docker-compose down:停止并移除容器(保留数据卷)
  • docker-compose logs -f:实时查看日志
  • docker-compose restart:重启服务

四、避坑提示

  • 环境差异用环境变量控制,不同环境(开发/测试/生产)使用不同.env文件
  • 容器间通信用服务名,不要写死IP
  • 按项目拆分目录,避免多个项目共用一套Compose

掌握Compose后,本地开发环境搭建效率能提升一倍,强烈推荐大家上手。

© 版权声明
THE END
喜欢就支持一下吧
点赞30 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容