这是我的docker-compose文件,它创建了一个zookeeper和kafka。
对于我的kafka,我设置了2个env变量,如下所示。
现在,我点击了docker-compose并创建了2个容器。
如何登录设置了env变量的同一会话。当我执行docker exec时 - 它会将我带到一个正在运行的容器但是看不到env变量集。如何登录设置env变量的同一会话。
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
build: .
ports:
- "9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 192.168.1.162
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
答案 0 :(得分:0)
当我做docker exec时 - 它会把我带到一个正在运行的容器但是看不到env变量集。
他们定了吗?尝试
environment:
KAFKA_ADVERTISED_HOST_NAME: 192.168.1.162
到
environment:
KAFKA_ADVERTISED_HOST_NAME=192.168.1.162
我找不到在docker compose中用冒号分配变量的任何提及:https://docs.docker.com/compose/environment-variables/#the-env-file