Docker Compose 简介

Docker Compose 是 Docker 官方提供的 多容器管理工具,用于 定义和运行多个 Docker 容器。它使用

docker-compose.yml

文件来配置服务,支持一键启动、停止和管理多个容器,特别适合 微服务架构、开发和测试环境


1. 安装 Docker Compose

Docker Compose 通常与 Docker 一起安装。如果你的系统没有它,可以手动安装:

Linux/macOS

sudo curl -L <span class="hljs-string">"https://github.com/docker/compose/releases/latest/download/docker-compose-<span class="hljs-subst">$(uname -s)</span>-<span class="hljs-subst">$(uname -m)</span>"</span> -o /usr/local/bin/docker-compose
sudo <span class="hljs-built_in">chmod</span> +x /usr/local/bin/docker-compose

然后检查版本:

docker-compose --version

Windows

  • Windows 用户可通过 Docker Desktop 内置的 Compose 运行,无需单独安装。

2. 创建

docker-compose.yml

文件

使用

docker-compose.yml

来定义多个容器。例如,创建一个 Nginx + PHP + MySQL 的环境:

version: ‘3.8’ # Docker Compose 版本

services:
web: # Nginx 容器
image: nginx:latest
ports:
– “8080:80” # 映射宿主机端口
volumes:
– ./html:/usr/share/nginx/html
– ./nginx.conf:/etc/nginx/nginx.conf
depends_on:
– php

php: # PHP 容器
image: php:7.4-fpm
volumes:
– ./html:/var/www/html
depends_on:
– db

db: # MySQL 容器
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: testdb
MYSQL_USER: user
MYSQL_PASSWORD: password
volumes:
– db_data:/var/lib/mysql

volumes:
db_data: # 定义 MySQL 数据存储卷


3. 启动容器

docker-compose.yml

所在目录运行:

docker-compose up -d

解释

  • up

    启动所有容器

  • -d

    让容器在后台运行(守护模式)


4. 查看容器状态

docker-compose ps

5. 停止容器

docker-compose down

解释

  • down

    会停止并删除所有容器、网络、但不会删除数据卷

如果要 删除数据卷

docker-compose down -v

6. 重新构建容器

如果修改了

Dockerfile

docker-compose.yml

,需要重新构建:

docker-compose build
docker-compose up -d

7. 进入容器

docker-compose <span class="hljs-built_in">exec</span> web sh  <span class="hljs-comment"># 进入 Nginx 容器</span>

或者:

docker <span class="hljs-built_in">exec</span> -it &lt;container_id&gt; sh

8. 日志查看

docker-compose logs -f

9. 仅启动/重启某个容器

docker-compose up -d web
docker-compose restart php

10. 适用场景

  • 开发环境(快速启动多个服务,如
    LAMP

    LNMP

  • 测试环境(部署和测试微服务架构)
  • CI/CD 集成(与
    Jenkins

    GitHub Actions

    结合)


总结

命令 作用
docker-compose up -d
启动所有容器(后台运行)
docker-compose down
停止并删除所有容器
docker-compose ps
查看运行的容器
docker-compose logs -f
实时查看日志
docker-compose restart web
重启

web

容器

docker-compose exec web sh
进入

web

容器

Docker Compose 可以大大简化多容器管理,非常适合本地开发和测试环境! 🚀

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

请登录后发表评论

    暂无评论内容