专业的编程技术博客社区

网站首页 > 博客文章 正文

docker-compose 常用的功能介绍和常用命令,程序员 运维人员必掌握

baijin 2025-05-22 09:08:33 博客文章 1 ℃ 0 评论

Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具,通过 YAML 文件(docker-compose.yml)配置服务,简化容器编排。以下是其核心功能和常用命令:

常用功能介绍

  1. 服务定义
    通过 YAML 文件定义多个容器的配置(镜像、端口、卷、环境变量等)。
  2. 一键启动
    单命令启动所有服务,自动处理容器间依赖关系。
  3. 服务依赖管理
    通过 depends_on 控制服务启动顺序。
  4. 环境变量支持
    支持从 .env 文件或命令行注入环境变量。
  5. 网络与卷管理
    自动创建容器间共享网络,支持持久化存储卷。
  6. 水平扩展
    使用 scale 命令扩展服务实例数量(需结合 Swarm)。

常用命令

1. 启动服务

docker-compose up          # 前台启动服务(Ctrl+C 停止)
docker-compose up -d       # 后台启动服务
docker-compose up service1 # 仅启动指定服务

2. 停止服务

docker-compose down        # 停止并删除容器、网络
docker-compose down -v     # 同时删除数据卷(谨慎操作!)

3. 构建镜像

docker-compose build       # 构建所有服务的镜像
docker-compose build service1 # 构建指定服务的镜像

4. 查看服务状态

docker-compose ps          # 显示运行中的容器
docker-compose ps -a       # 显示所有容器(包括已停止的)

5. 查看日志

docker-compose logs        # 查看所有服务的日志
docker-compose logs -f service1 # 实时跟踪指定服务的日志

6. 进入容器

docker-compose exec service1 sh  # 进入容器的 Shell

7. 管理服务状态

docker-compose start       # 启动已存在的容器
docker-compose stop        # 停止容器(不删除)
docker-compose restart     # 重启容器

8. 扩展服务实例(需 Swarm 支持)

docker-compose up --scale service1=3  # 启动 3 个 service1 实例

9. 检查配置

docker-compose config      # 验证并显示最终配置文件

10. 拉取镜像

docker-compose pull        # 拉取所有服务的镜像

常用参数

-f:指定自定义 Compose 文件

docker-compose -f custom-compose.yml up

-p:指定项目名称(默认使用目录名)

docker-compose -p myproject up

示例 Compose 文件

version: '3.8'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
    depends_on:
      - db

  db:
    image: postgres:13
    environment:
      POSTGRES_PASSWORD: example

总结

Docker Compose 简化了多容器应用的开发、测试和部署,尤其适合本地开发环境。通过掌握常用命令和 YAML 配置,可快速搭建复杂服务栈。生产环境建议结合 Kubernetes 或 Swarm 等更强大的编排工具。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表