【发布时间】:2018-02-28 09:07:34
【问题描述】:
我想知道是否有一种方法可以使用从部署容器的主机获取的环境变量,而不是从执行docker stack deploy 命令的地方获取的环境变量。例如想象以下docker-compose.yml在三节点Docker Swarm集群上启动:
version: '3.2'
services:
kafka:
image: wurstmeister/kafka
ports:
- target: 9094
published: 9094
protocol: tcp
mode: host
deploy:
mode: global
environment:
KAFKA_JMX_OPTS: "-Djava.rmi.server.hostname=${JMX_HOSTNAME} -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=1099"
JMX_HOSTNAME 应该取自实际部署容器的主机,并且每个容器的值不应相同。
有正确的方法吗?
【问题讨论】:
标签: docker docker-swarm docker-swarm-mode