当前位置: 首页 > 知识库问答 >
问题:

如何连接本地机器与Docker容器?

薛华奥
2023-03-14

我试图在我本地的电脑上使用kafka(Windows10)作为生产者,在docker容器(ubuntu)上使用spark流作为消费者。我的示例在容器中一起工作,但我需要在本地计算机上创建流。

producer=KafkaProducer(Bootstrap_servers='localhost:9092')而true:message='hola'producer.send(1,'test',message)time.sleep(1)

在容器的另一边,我正在监听端口2181来接收流。

ssc = StreamingContext(sc, 5)

kvs=kafkautils.createStream(ssc,“127.0.0.1:2181”,“Spark-Streaming-Consumer”,{'test':1})

我希望你能帮助我。谢了。

共有1个答案

崔琦
2023-03-14

在启动docker容器时,将端口8080公开到8080,将端口7077公开到7077,这可以通过在docker run命令中提供-p8080:8080-p7070:7070来完成。

然后在kafka中,您可以使用localhost或127.0.0.1进行配置

 类似资料:
  • 问题内容: 我正在运行一个docker mysql映像,以下是docker-compose.yml文件的外观: 这很好。 我的问题是:如何从主机(我的Macbook)上的命令行mysql客户端连接到在该容器上运行的MySQL实例? 澄清: 我有一台装有Docker的Macbook 我有一个带有mysql的docker容器 我想从Macbook的终端连接到上述容器上运行的mysql实例 我不想使用命

  • 问题内容: 所以我有一个Nginx在docker容器中运行,我有一个mysql在本地主机上运行,​​我想从我的Nginx内部连接到MySql。MySql在localhost上运行,并且没有将端口暴露给外界,因此它绑定在localhost上,而不绑定在计算机的IP地址上。 有什么方法可以从此Docker容器中连接到此MySql或localhost上的任何其他程序吗? 此问题与“如何从Docker容器

  • 澄清: 我有一台安装了Docker的macbook 我有一个带有MySQL的docker容器 我想从MacBook上的终端连接到在上述容器上运行的mysql实例 我不想使用命令来实现此操作。相反,我想直接从终端使用客户机(而不通过docker容器隧道进入)。 我没有在本地运行MySQL,所以端口3306应该是打开的,可以随时使用。 我用来启动容器的命令是:

  • 问题内容: 通过我能够运行该应用程序。现在,我们想将应用程序移至生产环境,但是我们不想使用容器数据库。那么有什么办法可以使我的本地MySQL数据库与使用的应用程序连接吗? 我的docker-compose.yml看起来像: 我只想连接到本地托管的数据库,而不是一部分。 问题答案: 在docker网络中找到主机IP。如果您使用docker-compose.yml ,则该IP可能是:, 但请确认它 搜

  • 我有一个运行java进程的docker容器,我试图将该进程连接到本地主机上运行的rabbitmq。 以下是我到目前为止所做的步骤: null 能够ping local-ip和curl rabbitmq admin api [{“名称”:“/”,“跟踪”:false}] 当我试图从容器内部telnet时,我得到 由:java.net.ConnectException:在java.net.plains

  • 我现在很困惑。我尝试了很多我可以在网上找到的东西,但是,没有一个解决它。我使用WSL2安装了Win10和Docker desktop来托管Linux容器。我使用以下命令启动詹金斯网站。 这个很管用。我可以使用访问网站 谢谢你 编辑:只是想解释一下我做了什么来解决我的问题。创建network是我最初所做的,但由于我卷曲网页的方式错误,所以失败了。我做只是为了便于在上定位我的容器。但是,正如我的问题中