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
相关推荐
Empty_77715 分钟前
DevOps理念
运维·devops
叶之香24 分钟前
CentOS/RHEL 7、8安装exfat和ntfs文件系统
linux·运维·centos
不过普通话一乙不改名32 分钟前
Linux 内核开发入门:从环境配置到 Hello World 实战
linux·运维
天河归来32 分钟前
在本地windows电脑使用Docker搭建xinference环境
docker·语言模型·容器
Trouvaille ~1 小时前
【Linux】理解“一切皆文件“与缓冲区机制:Linux文件系统的设计哲学
linux·运维·服务器·操作系统·进程·文件·缓冲区
小五传输1 小时前
隔离网闸的作用是什么?新型网闸如何构筑“数字护城河”?
大数据·运维·安全
算力魔方AIPC2 小时前
使用 Docker 一键部署 PaddleOCR-VL: 新手保姆级教程
运维·docker·容器
熊出没2 小时前
Kubernetes 实操命令大全
云原生·容器·kubernetes
阿里云云原生2 小时前
深度解析云监控 2.0 日志审计:统一采集、实体建模与告警溯源能力
阿里云·云原生·云监控·可观测