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
相关推荐
尹蓝锐24 分钟前
在学校Linux服务器上配置go语言环境
linux·运维·服务器
new_daimond25 分钟前
微服务网关技术详细介绍
微服务·云原生·架构
Light6028 分钟前
领码方案|微服务与SOA的世纪对话(4):迁移与避坑——从 SOA 到微服务的演进路线图
微服务·云原生·架构·自动化运维·容器化·服务治理·渐进式迁移
江湖有缘38 分钟前
【Docker项目实战】使用Docker部署ShowDoc文档管理工具
java·docker·容器
XYiFfang41 分钟前
【Docker】解决Docker中“exec format error”错误:架构不匹配的完整指南
docker·容器·架构
XUE-52113141 小时前
组播实验-IGMP、IGMP Snooping及PIM-DM协议
运维·网络·网络协议·智能路由器
小伟5531 小时前
Keepalived 高可用实战(Ubuntu 24.04)
运维
运维闲章印时光2 小时前
网络断网、环路、IP 冲突?VRRP+MSTP+DHCP 联动方案一次性解决
运维·服务器·开发语言·网络·php
ARTHUR-SYS2 小时前
基于Kali linux 安装pyenv及简单使用方法及碰到的问题
linux·运维·chrome
苹果醋32 小时前
数据结构其一 线性表
java·运维·spring boot·mysql·nginx