我正在使用Landoop快速数据开发并暴露容器的-p 2181:2181 -p 3030:3030 -p 8081:8081 -p 8082:8082 -p 9092:9092。
docker run --rm -it -p 2181:2181 -p 3030:3030 -p 8081:8081 -p 8082:8082
-p 9092:9092 -e ADV_HOST=127.0.0.1 --name=containerA landoop/fast-data-dev
当我通过localhost在主机上使用时,可以访问这些内容。 但是当我使用
运行另一个容器时 docker run -it --rm --net=host --name containerB mytest/containerB
。
1)如何从containerB访问containerA的上述暴露端口?
我确实意识到MAC我们必须使用docker.for.mac.localhost
而不是localhost。我如何确认这些端口是否可以从docker.for.mac.localhost(即containerB)访问?任何帮助表示赞赏。感谢。
答案 0 :(得分:0)
为了让两个不同的容器协同工作,我使用docker-compose在它们之间创建一个虚拟网络
答案 1 :(得分:0)
对于能够进行通信的容器,他们需要共享虚拟网络。
docker network create my-net
docker run --rm -it --network my-net -p 2181:2181 -p 3030:3030 -p 8081:8081 -p 8082:8082 -p 9092:9092\
-e ADV_HOST=127.0.0.1 --name=containerA landoop/fast-data-dev
docker run -it --rm --network my-net --name containerB mytest/containerB
现在,containerB可以使用http://containerA:<port>
答案 2 :(得分:0)
在https://github.com/Landoop/kafka-connectors-tests,您可以看到多个泊坞广告是如何组合在一起的,即fast-data-dev
+ elastic-search
,以便通过向Kafka生成数据然后运行https://github.com/Landoop/stream-reactor来运行集成测试Kafka连接器将数据写入弹性搜索等。
集成测试的结果发布在: