docker -compose

一、概述

用于简化在单个主机上定义和运行多容器 Docker 应用的过程。也就是说Docker Compose是一个用于定义和运行多个Docker容器的工具。

二、使用Docker Compose的简要步骤如下:

(1). 创建一个YAML文件(通常命名为 docker-compose.yml ),用于定义应用程序的服务、网络和卷等配置。

(2). 在YAML文件中定义服务,包括容器的镜像、端口映射、环境变量、依赖关系等。

(3). 运行 docker-compose up 命令,Docker Compose将根据YAML文件中的配置启动和管理容器。

(4). 使用 docker-compose down 命令停止和删除由Compose创建的容器。

三、安装

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

 

五、遇到的问题

解决方法:在docker-compose.yml文件中去掉端口的配置(去掉下图圈住部分),我们要启动5个,配置了端口我们只能启动一个,所以就会报错

改为 

六、 扩展

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值