目录
[一、Docker Compose 简介](#一、Docker Compose 简介)
[1. 核心概念](#1. 核心概念)
[2. Compose 使用步骤](#2. Compose 使用步骤)
[3. 一键启动/关闭](#3. 一键启动/关闭)
[4. 单服务单独分割](#4. 单服务单独分割)
[5. 项目定义(Project)](#5. 项目定义(Project))
[6. 一条指令完成构建](#6. 一条指令完成构建)
[二、安装 Docker Compose](#二、安装 Docker Compose)
[1. 启动/停止/重启服务](#1. 启动/停止/重启服务)
[2. 启动容器编排](#2. 启动容器编排)
[3. 停止并删除容器编排](#3. 停止并删除容器编排)
[4. 查看容器编排中的容器状态](#4. 查看容器编排中的容器状态)
[5. 查看容器编排中的容器日志](#5. 查看容器编排中的容器日志)
[6. 进入运行的服务容器实例内部](#6. 进入运行的服务容器实例内部)
[7. 构建容器编排中的服务](#7. 构建容器编排中的服务)
[8. 暂停容器编排中的服务](#8. 暂停容器编排中的服务)
[9. 恢复容器编排中的服务](#9. 恢复容器编排中的服务)
[10. 查看容器编排的配置信息](#10. 查看容器编排的配置信息)
[11. 删除所有停止的容器和网络](#11. 删除所有停止的容器和网络)
[12. 指定 Docker-Compose 文件启动](#12. 指定 Docker-Compose 文件启动)
[13. 指定项目名称启动容器编排](#13. 指定项目名称启动容器编排)
[14. 检查配置](#14. 检查配置)
一、Docker Compose 简介
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个简单的 docker-compose.yml 文件,可以定义整个应用程序的服务、网络、卷等配置,方便管理多个容器之间的关系。
1. 核心概念
- 服务(Service): 一个个应用容器实例,定义了容器的运行参数、镜像来源等信息。
- 工程(Project): 由一组关联的应用容器组成的完整业务单元,在
docker-compose.yml
文件中定义。
2. Compose 使用步骤
- 编写 Dockerfile: 定义各个应用容器,构建出对应的镜像文件。
- 编写 docker-compose.yml: 定义一个完整的业务单元,安排整体应用中的各个容器服务。
- 执行 docker-compose up: 创建并运行整个应用程序,一键部署上线。
3. 一键启动/关闭
只需要执行一条命令即可同时启动或关闭整个应用,简化了多服务的部署和管理。
bash
docker-compose up -d # 启动所有服务
docker-compose down # 关闭所有服务
4. 单服务单独分割
Docker 建议每个容器中只运行一个服务,以提高容器的可维护性和灵活性。
Docker-Compose 允许用户通过一个配置文件同时定义和管理多个服务。
5. 项目定义(Project)
Docker-Compose 将一组相关联的应用容器定义为一个项目(project)。
每个项目通过一个独立的 docker-compose.yml
文件进行配置。
6. 一条指令完成构建
通过一条指令,可以完成整个应用的构建、依赖安装和启动。
bash
docker-compose up -d
二、安装 Docker Compose
首先确保已安装 Docker,然后从 Docker Compose GitHub Releases 页面下载并安装 Docker Compose。
bash
# 例如从github下载 2.5.0版本的docker-compose
# 下载下来的文件放到 /usr/local/bin目录下,命名为 docker-compose
curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
# 添加权限
chmod +x /usr/local/bin/docker-compose
# 验证
docker-compose version
三、常用命令
1. 启动/停止/重启服务
bash
docker-compose start
docker-compose stop
docker-compose restart
2. 启动容器编排
bash
# 启动容器编排,-d 参数表示以后台方式运行
docker-compose up -d
3. 停止并删除容器编排
停止并删除容器编排中的所有容器。
bash
docker-compose down
4. 查看容器编排中的容器状态
bash
docker-compose ps
5. 查看容器编排中的容器日志
bash
docker-compose logs
6. 进入运行的服务容器实例内部
bash
docker-compose exec 【yml里面的服务id】 /bin/bash
7. 构建容器编排中的服务
bash
docker-compose build
8. 暂停容器编排中的服务
bash
docker-compose pause
9. 恢复容器编排中的服务
bash
docker-compose unpause
10. 查看容器编排的配置信息
bash
docker-compose config
11. 删除所有停止的容器和网络
删除所有停止的容器、网络,并删除所有数据卷。
bash
docker-compose down -v
12. 指定 Docker-Compose 文件启动
使用指定的 docker-compose.yml
文件路径启动容器编排。
bash
docker-compose -f FILE_PATH up -d
13. 指定项目名称启动容器编排
bash
docker-compose -p PROJECT_NAME up -d
14. 检查配置
bash
docker-compose config
# 有问题才输出
docker-compose config -q