1.概述
是 Docker 官方提供的一款开源工具,主要用于简化在单个主机上定义和运行多容器 Docker 应用的过程。它的核心作用是容器编排,使得开发者能够在一个统一的环境中以声明式的方式管理多容器应用的服务及其依赖关系。
也就是说Docker Compose是一个用于定义和运行多个Docker容器的工具。它使用YAML文件来定义应用程序的服务、网络和卷等配置,然后使用单个命令即可启动、停止和管理整个应用程序的多个容器。
2.使用Docker Compose的简要步骤如下:
1. 创建一个YAML文件(通常命名为 docker-compose.yml ),用于定义应用程序的服务、网络和卷等配置。
2. 在YAML文件中定义服务,包括容器的镜像、端口映射、环境变量、依赖关系等。
3. 运行 docker-compose up 命令,Docker Compose将根据YAML文件中的配置启动和管理容器。
4. 使用 docker-compose down 命令停止和删除由Compose创建的容器。
3.安装
https://github.com/docker/compose/releases/
yum install docker-compose
以下是一个简单的Docker Compose示例:
version: '3'
services:
web:
image: nginx:latest
ports:
- 3888:80
volumes:
- ./opt/wms-web/:/usr/share/nginx/html/
db:
image: mysql:latest
ports:
- 3999:3306
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- ./opt/db/:/var/lib/mysql/
在这个示例中,我们定义了两个服务: web 和 db 。
web 服务使用了 nginx:latest 镜像,并将主机的3888端口映射到容器的80端口。还定义了一个卷,将主机的 ./opt/wms-web 目录映射到容器的 /usr/share/nginx/html 目录。
db 服务使用了 mysql:latest 镜像,并设置了一个环境变量 MYSQL_ROOT_PASSWORD 。还定义了一个卷,将主机的 ./opt/db 目录映射到容器的 /var/lib/mysql 目录。
通过运行
docker-compose up
命令,Docker Compose将启动这两个容器,并根据定义的配置进行设置。这样,我们就可以同时运行和管理这两个容器,它们可以相互通信和交互。
docker-compose up
测试
docker-compose scale web=5
是 Docker Compose 的一个命令,用于设置服务 web
的实例数量为 5。在 Docker Compose 中,您可以定义多个服务并在同一环境中管理和运行它们。scale
命令允许您根据需求增加或减少特定服务的容器实例数量。
尽管这条命令曾经是调整服务实例数量的标准方式,但根据较早的参考资料(2020年及以后),官方已经不推荐直接使用 docker-compose scale
命令了。取而代之的是建议使用 docker-compose up --scale web=5
命令来达到同样的效果,即启动或重新启动服务,并同时设置 web
服务运行5个容器实例。
执行这条命令后,Docker Compose 将会检查当前 web
服务的实际运行容器数量,并相应地创建或停止容器,以确保最终有 5 个容器正在运行 web
服务。这对于水平扩展应用非常有用,特别是在负载均衡场景下,通过增加服务实例的数量来提高系统的处理能力或可用性。
docker-compose scale web=5
原因:3888端口启动一个容器后,其他四个容器就不能再用3888端口启动了
将端口容器更改为
拓展: