目录
1、Docker Compose 简介
2、为什么要使用Docker Compose
3、Docker Compose安装使用(Linux)
3.1 下载
3.2 mkdir docker 文件夹目录
3.3 上传docker-compose到docker文件夹
3.4 移动到 /usr/local/bin 目录下
3.5 添加执行权限
3.6 修改文件名为 docker-compose
3.7 查看版本
⭐3.8 创建docker-compose.yml文件
4、idea整合docker-compose
4.1 Dockerfile
4.2 创建docker-compose.yml文件
⭐Docker 相关知识点整理
1、Docker Compose 简介

图片来源:.NET Core容器化之多容器应用部署@Docker-Compose - JavaShuo
官网简介:Docker Compose overview | Docker Docs
根据官网的说明,Compose是一个定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用YAML文件来配置应用程序的服务。然后,只需一个命令,就可以从配置中创建并启动所有服务。
在所有环境中创作作品;生产、试运行、开发、测试以及CI工作流。它还包含用于管理应用程序整个生命周期的命令:
- 启动、停止和重建服务
- 查看运行服务的状态
- 流式传输正在运行的服务的日志输出
- 在服务上运行一次性命令
Compose的关键特性使其有效:
- 在单个主机上拥有多个独立的环境
- 创建容器时保留卷数据
- 仅重新创建已更改的容器
- 支持变量和在环境之间移动组合
2、为什么要使用Docker Compose
因为在实际开发中,一个应用往往包含许多个服务,而docker的应用是作为一个容器只运行一个应用进程。因此如果要运行多个微服务就需要运行多个容器,compose的出现就是为了有效地管理这些容器,包括定义、创建、启动等。它是一个能够编排多容器分布式部署的工具。使用 compose 可以简化容器镜像的构建以及容器的运行。
本质上,compose 把 YAML 文件解析成 docker 命令的参数,然后调用相应的 docker 命令行接口,从而将应用以容器化的方式管理起来。它通过解析容器间的依赖关系顺序地启动容器。而容器间的依赖关系由 YAML 文件中的 links 标记指定。(本段引自:https://www.jianshu.com/p/87d701d0801d)
简单来说,就是使用compose能够让docker的操作更加简单和便于管理。
3、Docker Compose安装使用(Linux)
3.1 下载
下载地址(以v2.14.2版本为例):
docker-compose-linux-x86_64
3.2 mkdir docker 文件夹目录
[root@localhost software]# mkdir docker
[root@localhost software]# ls
canal docker gitlab jdk mysql nexus nginx project rabbitmq redis redis_sentinel
3.3 上传docker-compose到docker文件夹

3.4 移动到 /usr/local/bin 目录下
mv docker-compose-linux-x86_64 /usr/local/bin
3.5 添加执行权限

[root@localhost bin]# chmod u+x docker-compose-linux-x86_64
[root@localhost bin]# ll
总用量 43868
-rwxr--r--. 1 root root 44920832 12月 1 14:15 docker-compose-linux-x86_64
3.6 修改文件名为 docker-compose
进入bin目录下
[root@localhost bin]# mv docker-compose-linux-x86_64 docker-compose
3.7 查看版本
[root@localhost local]# cd bin/
[root@localhost bin]# ls
docker-compose
[root@localhost bin]# docker-compose --version
Docker Compose version v2.14.2
⭐3.8 创建docker-compose.yml文件
简单测试版
version: '2'
services:
hello-compose01:
build: .
image: nginx
container_name: nginx_01
ports:
- "10001:80"
hello-compose02:
build: .
image: nginx
container_name: nginx_02
ports:
- "10002:80"

图片来源:Docker-Compose简介 - 简书
运行测试
docker-compose的相关命令
[root@localhost test]# docker-composeUsage: docker compose [OPTIONS] COMMANDDocker ComposeOptions:--ansi string Control when to print ANSI control characters("never"|"always"|"auto") (default "auto")--compatibility Run compose in backward compatibility mode--env-file string Specify an alternate environment file.-f, --file stringArray Compose configuration files--parallel int Control max parallelism, -1 for unlimited (default -1)--profile stringArray Specify a profile to enable--project-directory string Specify an alternate working directory(default: the path of the, first specified, Compose file)-p, --project-name string Project nameCommands:build Build or rebuild servicesconvert Converts the compose file to platform's canonical formatcp Copy files/folders between a service container and the local filesystemcreate Creates containers for a service.down Stop and remove containers, networksevents Receive real time events from containers.exec Execute a command in a running container.images List images used by the created containerskill Force stop service containers.logs View output from containersls List running compose projectspause Pause servicesport Print the public port for a port binding.ps List containerspull Pull service imagespush Push service imagesrestart Restart service containersrm Removes stopped service containersrun Run a one-off command on a service.start Start servicesstop Stop servicestop Display the running processesunpause Unpause servicesup Create and start containersversion Show the Docker Compose version informationRun 'docker compose COMMAND --help' for more information on a command.
创建
docker-compose up
查看使用docker-compose创建的容器
docker ps
4、idea整合docker-compose
4.1 Dockerfile
容器和访问端口的关系

编辑Dockerfile文件

4.2 创建docker-compose.yml文件


编辑Edit Configurations

服务台开启查看

创建运行compose

注意:运行compose up 后报错 可能是由于本机未安装 Docker Desktop 该程序,下载安装后需重启电脑,再次运行成功。

下载地址:Docker Desktop: The #1 Containerization Tool for Developers | Docker
参考
Docker-Compose简介 - 简书
容器服务的深入应用及原理剖析(4)带你了解Docker Compose - 知乎
.NET Core容器化之多容器应用部署@Docker-Compose - JavaShuo
docker高级篇-docker-compose容器编排介绍及实战 - 知乎
「Linux云计算SRE课程」docker-compose简介及使用!
Docker入门之docker-compose - minseo - 博客园
⭐Docker 相关知识点整理
1. docker常用命令总结:docker常用命令总结_林隐w的博客-CSDN博客
2. docker搭建mysql主从数据库:docker搭建mysql主从数据库-CSDN博客
3. SpringBoot整合Dockerfile:SpringBoot整合Dockerfile-CSDN博客
感谢阅读,码字不易,多谢点赞!如有不当之处,欢迎反馈指出,感谢!
