Docker Compose实战:多容器应用的编排与管理

文章最后更新时间:2026-04-06 22:00:54

【免责声明:本文由AI辅助生成,内容仅供参考,不构成专业建议。】

前言

Docker ComposeDocker官方提供的多容器应用编排工具,通过YAML文件定义多个容器的关系,实现一键启动和停止复杂应用。

一、Docker Compose基础

安装

pip install docker-compose

基本概念

  • Service:一个容器服务
  • Network:容器网络
  • Volume:数据卷

二、docker-compose.yml

基础结构

version: "3.8"
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: secret
    volumes:
      - db_data:/var/lib/mysql
volumes:
  db_data:

三、常用命令

docker-compose up -d          # 启动
docker-compose down           # 停止并删除
docker-compose ps            # 查看状态
docker-compose logs -f       # 查看日志
docker-compose exec web bash # 进入容器
docker-compose restart        # 重启
docker-compose build         # 构建镜像

四、多服务实战

LNMP架构

services:
  nginx:
    image: nginx:latest
    ports:
      - "80:80"
    depends_on:
      - php
  php:
    image: php:fpm
    volumes:
      - ./html:/var/www/html
  mysql:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: mydb
    volumes:
      - mysql_data:/var/lib/mysql
volumes:
  mysql_data:

五、网络配置

services:
  web:
    networks:
      - frontend
      - backend
  db:
    networks:
      - backend
networks:
  frontend:
  backend:

六、环境变量

.env文件:
DB_PASSWORD=secret123
DB_NAME=mydb

yml引用:
environment:
  - DB_PASSWORD=${DB_PASSWORD}

七、扩展服务

deploy:
  replicas: 3
  resources:
    limits:
      cpus: "0.5"
      memory: 512M

声明:

1. 本文由AI辅助生成,内容仅供参考。

2. 如需版权归保留来源。客服:400-880-3980

本文发布于瀚煜云技术博客

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 共7条

请登录后发表评论