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
相关推荐
运维&陈同学25 分钟前
【Beats01】企业级日志分析系统ELK之Metricbeat与Heartbeat 监控
运维·elk·elasticsearch·云原生·kibana·heartbeat·metricbeat
地球资源数据云27 分钟前
全国30米分辨率逐年植被覆盖度(FVC)数据集
大数据·运维·服务器·数据库·均值算法
是店小二呀36 分钟前
【Linux】Linux开发利器:make与Makefile自动化构建详解
linux·运维·自动化
baihb10241 小时前
Jenkins 构建流水线
运维·jenkins
BUG 4041 小时前
LINUX--shell
linux·运维·服务器
菜鸟小白:长岛icetea2 小时前
Linux零基础速成篇一(理论+实操)
linux·运维·服务器
Java小白中的菜鸟4 小时前
centos7的磁盘扩容
linux·运维·服务器
黑客老陈5 小时前
面试经验分享 | 北京渗透测试岗位
运维·服务器·经验分享·安全·web安全·面试·职场和发展
橘子师兄5 小时前
如何在自己的云服务器上部署mysql
运维·服务器·mysql
@泽栖5 小时前
Docker 常用命令
运维·服务器·docker