在docker集群部署时,如何让不同节点上的容器引用各自host上,同一个key对应的环境变量

2019-01-03 02:19发布

本场景使用的是docker stack 部署:

docker stack deploy -c docker-compose.yml xxxx

在docker-compose.yml中有一个配置:

version: '3.4'
services:
  fscp-portal-base-zuul:
    image: 192.168.2.3/base-zuul
    networks:
      - hostnet
    deploy:
      mode: global
    environment:
      zone: $zone
networks:
  hostnet:
    external:
      name: host

这样会在3台机器上根据同一个镜像创建容器,注意其中的environment,配置的zone是使用host上的zone环境变量。

这里我想让每个容器各自取自己的宿主节点上的zone环境变量,而非swarm master节点上的zone,应该怎么做呢?

1条回答
迷人小祖宗
2楼-- · 2019-01-03 02:53

这个环境变量是在执行部署命令时读取,在哪台机器上执行部署命令就读取哪台机器的环境变量

查看更多
登录 后发表回答