Docker Compose 容器编排

目录

[一、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 使用步骤

  1. 编写 Dockerfile: 定义各个应用容器,构建出对应的镜像文件。
  2. 编写 docker-compose.yml: 定义一个完整的业务单元,安排整体应用中的各个容器服务。
  3. 执行 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
相关推荐
阿里云云原生几秒前
告别盲排!云监控 2.0 SysOM 破解 4 大隐式内存痛点
云原生
Y淑滢潇潇21 分钟前
RHCE 防火墙实验
linux·运维·rhce
稻谷君W1 小时前
Ubuntu 远程访问 Win11 WSL2 并固定访问教程
linux·运维·ubuntu
泡沫·1 小时前
4.iSCSI 服务器
运维·服务器·数据库
阿里云云原生1 小时前
【技术干货】DeepSeek-OCR模型在DevPod/FunModel上的全流程工程化实践
云原生
weixin_436525071 小时前
使用 idea 命令行构建 Docker 镜像并部署到云服务器
linux·docker·github
悠悠121382 小时前
告别Zabbix?我用Netdata只花10分钟就搞定了50台服务器的秒级监控(保姆级实战)
运维·服务器·zabbix
天庭鸡腿哥2 小时前
大小只有4K的软件,可让系统瞬间丝滑!
运维·服务器·windows·microsoft·everything
虚伪的空想家2 小时前
华为昇腾Atlas 800 A2物理服务器开启VT-d模式
运维·服务器·ubuntu·kvm·vt-d·直通
学渣676562 小时前
服务器端口映射
运维·服务器