将Landoop Docker图像与另一个泊坞窗图像集成

问题描述 投票:2回答:1

我正在尝试运行2个docker容器。一个是Landoop的Kafka容器,它将几个端口暴露给本地主机和一个kafka连接容器,它试图访问另一个映像暴露的端口。我能够访问Landoop的Kafka容器暴露的端口,但是在尝试从另一个容器访问端口时遇到问题。

PS:我正在使用MAC,我尝试使用--network="host"启动我的其他容器。

docker run -it --network="host" --env-file env-file.sh --name NAME IMAGE

但是一旦我启动容器就会被杀死。我在用

docker run --rm -it -p 2181:2181 -p 3030:3030 -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 9092:9092 -h 127.0.0.1 -e ADV_HOST=127.0.0.1 landoop/fast-data-dev发射Landoop码头工人。

docker apache-kafka
1个回答
1
投票

documentation您可以找到以下信息:

连接到默认网桥的容器可以通过IP地址相互通信。 Docker不支持默认网桥上的自动服务发现。如果希望容器能够按容器名称解析IP地址,则应使用用户定义的网络。您可以使用旧版docker run -link选项将两个容器链接在一起,但在大多数情况下不建议这样做。

虽然你尝试使用host网络并指导自己在127.0.0.1几乎是有道理的;通常,该地址被分配给环回接口,因此不是使用而不是能够访问您机器上的其他端口 - 而是从不离开Docker容器。

如果您没有使用Docker Compose文件 - 通常会将所有服务放在默认的覆盖网络中,而是希望通过docker container run命令手动运行所有内容 - 您的设置应如下所示:

docker network create your_new_network

docker container run -d --network your_new_network --name a_container_1 your_image

docker container run -d --network your_new_network --name another_container

现在 - 从这些容器中,您可以尊重a_container_1another_container

您的集装箱停靠可能相关也可能不相关;不幸的是,我无法用给出的信息回答这个问题 - 但这应该会为您提供足够的信息来连接您的容器。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.