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 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
Bright16685 小时前
centos9安装k8s集群
云原生·容器·kubernetes
!!!5256 小时前
华为云镜像加速器
docker·容器·华为云
技术小齐6 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
ITPUB-微风6 小时前
Service Mesh在爱奇艺的落地实践:架构、运维与扩展
运维·架构·service_mesh
落幕7 小时前
C语言-进程
linux·运维·服务器
chenbin5207 小时前
Jenkins 自动构建Job
运维·jenkins
java 凯7 小时前
Jenkins插件管理切换国内源地址
运维·jenkins
xidianjiapei0017 小时前
Kubernetes的Ingress 资源是什么?
云原生·容器·kubernetes
AI服务老曹7 小时前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频