docker - 将 Landoop Docker 镜像与另一个 docker 镜像集成

标签 docker apache-kafka

我正在尝试运行 2 个 docker 容器。一个是 Landoop 的 Kafka 容器,它将几个端口暴露给本地主机,一个是 kafka connect 容器,它试图访问另一个图像暴露的端口。我能够访问 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。

最佳答案

来自documentation您可以找到以下信息:

Containers connected to the default bridge network can communicate with each other by IP address. Docker does not support automatic service discovery on the default bridge network. If you want containers to be able to resolve IP addresses by container name, you should use user-defined networks instead. You can link two containers together using the legacy docker run --link option, but this is not recommended in most cases.

虽然您尝试使用 host 网络并将自己定向到 127.0.0.1 几乎 是有道理的;通常该地址被分配给环回接口(interface),而不是使用而不是能够访问您机器上的其他端口 - 相反它永远不会离开 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

您的容器停止可能相关也可能不相关;不幸的是,我无法用给出的信息回答这个问题——但这应该给你足够的信息来连接你的容器。干杯!

关于docker - 将 Landoop Docker 镜像与另一个 docker 镜像集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47839037/

相关文章:

docker - vim 在 Docker 容器中使用时不突出显示语法

java - 通过 SOCKS Proxy 连接到 Kafka

apache-kafka - Confluent connect-jdbc 和恰好一次交付

docker - 无法反序列化主题的数据

apache-kafka - Kafka 消费者获取主题元数据失败

docker - Kafka stream.allMetadata()在DOCKER中返回空列表(交互式查询)

cloud - 可以在虚拟机上安装Docker吗?

node.js - Dockerized应用抛出读取操作超时错误并退出

linux - 什么是 POSTGIS_VERSION 2.1.7+dfsg-3~94.git954a8d0.pgdg80+1?

java - 使用 JConsole 监控 docker 中的 java 应用程序