容器环境中的Kafka FQDN

时间:2018-09-27 18:01:16

标签: docker apache-kafka

在容器上运行kafka,并尝试在同一主机上创建新的pgsql容器。

pgsql容器不断退出,日志显示

  

错误:无法通过kafka.domain连接到Kafka,请检查docker run -e KAFKA_FQDN = value

kafka容器使用以下属性构建

docker run -d \
 --name=app_kafka \
 -e KAFKA_FQDN=localhost \
 -v /var/app/kafka:/data/kafka \
 -p 2181:2181 -p 9092:9092 \
 app/kafka

带有{p>的pgsql容器

docker run -d --name app_psql \
  -h app-psql \
  **-e KAFKA_FQDN=kafka.domain \
  --add-host kafka.domain:172.17.0.1 \**
  -e MEM=16 \
  --shm-size=512m \
  -v /var/app/config:/config \
  -v /var/app/postgres/main:/data/main \
  -v /var/app/postgres/ts:/data/ts \
  -p 5432:5432 -p 9005:9005 -p 8080:8080 \
  app/postgres

如果我正在使用docker0 ip地址,则日志表明没有通往主机的路由,如果我正在使用kafka docker ip,则连接被拒绝。

我想我这里缺少一些基本的东西,需要修改以适应我的环境,但是这里我缺乏知识。

在此感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您需要编辑容器文件主机,可以在dockerFile中传递脚本,例如

COPY dot.sh .
ENTRYPOINT ["sh","domain.sh"]

和domain.sh

#!/bin/sh
echo Environment container kafka is: "kafka.domain"
echo PGSQL container  is "pgsql.domain"
echo "127.0.0.1 kafka.domain" >> /etc/hosts
echo "127.0.0.1 pgsql.domain" >> /etc/hosts

根据需要随意更改IP或域。