docker-compose.yml中environment的参数详情(以zookeeper集群为例)

Compose 是一个用于定义和运行多容器 Docker 的工具。借助 Compose,我们可以使用 YAML 文件来配置应用程序的服务。

在我们配置yml的时候,每个容器都需要配置一些必须的内容。其中environment就是容器中比较常用的一个参数,它主要是用来配置容器中程序所需要配置的一些参数。下面就拿zookeeper集群为例来说明。

version: '3.7'


# 配置zk集群的
# container services下的每一个子配置都对应一个zk节点的docker container
services:
  zoo1:
    # docker container所使用的docker image
    image: zookeeper
    hostname: zoo1
    container_name: zoo1
    privileged: true
    # 配置docker container和宿主机的端口映射
    ports:
      - "2181:2181"
      - "8081:8080"
    # 配置docker container的环境变量
    environment:
      TZ: Asia/Shanghai
      # 当前zk实例的id
      ZOO_MY_ID: 1
      # 整个zk集群的机器、端口列表
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
      #超时时间
      ZOO_TICK_TIME: 20000
    # 将docker container上的路径挂载到宿主机上 实现宿主机和docker container的数据共享
    volumes:
      - ./zk1/data:/data
      - ./zk1/datalog:/datalog


  zoo2:
    image: zookeeper
    hostname: zoo2
    container_name: zoo2
    privileged: true
    ports:
      - "2182:2181"
      - "8082:8080"
    environment:
      TZ: Asia/Shanghai
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181
      #超时时间
      ZOO_TICK_TIME: 20000
    volumes:
      - ./zk2/data:/data
      - ./zk2/datalog:/datalog


  zoo3:
    image: zookeeper
    hostname: zoo3
    container_name: zoo3
    privileged: true
    ports:
      - "2183:2181"
      - "8083:8080"
    environment:
      TZ: Asia/Shanghai
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181
      #超时时间
      ZOO_TICK_TIME: 20000
    volumes:
      - ./zk3/data:/data
      - ./zk3/datalog:/datalog


在用docker-compose.yml来配置zookeeper集群的时候,environment其实主要配置的就是zookeeper中的一些参数,最主要的就是 /bin/zoo.cfg文件中的一些内容,但应该怎么把zoo.cfg中的参数和environment中的参数一一对应起来呢,例如zoo.cfg中配置的tickTime在docker-compose.yml应该怎么配置才行呢?这时候我们就要去docker的官网看下,找到Docker Hub在它的库中找到zookeeper的信息。Docker Hub
在这里插入图片描述
我们点进去查看一下zookeeper的具体信息,里面会有docker对zookeeper的版本信息,以及对zookeeper的具体介绍和快速使用的代码。其中就包括了参数的设定。
在这里插入图片描述
这样我们就找到了tickTime这个变量的设置方法,即zookeeper的zoo.cfg中tickTime要配置时只需要在docker-compose.yml中environment里设置一个变量ZOO_TICK_TIME就可以了。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰溪0502

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值