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

不同网络中docker容器之间的通信

盛浩阔
2023-03-14

如果我知道一个Docker容器的IP地址,我就可以很容易地从另一个容器与它通信,但前提是它们在同一个网络中。

我的问题是,我如何与来自另一个网络的容器通信,为什么我不能访问同一台机器上的本地IP?我对网络解释感兴趣,为什么我可以从172.19.0.2访问172.19-0.1,但无法从172.20.0.1访问172.20-0.2。

让一个网络中的docker容器与另一个网络中的Docker容器进行通信有哪些可能的解决方法?

共有1个答案

栾钟展
2023-03-14

您可以发布一个端口,然后通过本地主机(或 0.0.0.0 用于故障排除)访问该端口。

除此之外,你还可以使用docker网络的替代品,如链接或其他东西。但我不建议这样做。如果你想让两个容器相互通信,而不是与公众通信,只需为这两个容器创建一个新的网络。

您可以指定此网络是外部网络,他们甚至可以从不同的撰写文件中加入它。

 类似资料:
  • 在问我的问题之前,我已经访问了这个问题,我没有看到任何答案。 以下场景是,我有一个前端应用(Angular),它与两个单独的容器中的API(节点)隔离,还有两个单独的网络。喜欢这个: 我在nginx服务器上有我的前端,但是当调用时,它请求自己而不是我的API。 在一个论坛上,他们说应该通过:添加到package.json中来解决这个问题。 但我真正想知道的是,我的前端如何与后端通信以进行API调用

  • Docker中容器网络不通,宿主机跟容器,容器跟docker0,容器跟容器网络都不通? 使用 tcpdump -i docker0 抓包时容器的网络就通了,但是关闭 tcpdump -i docker0容器的网络又不通了。

  • 我正在开发基于多个容器的node JS/Express的微服务。部署了不同docker组件的不同容器组。一个docker compose包含4个docker容器,而另一个docker compose包含3个docker容器。Docker compose为每个Docker compose创建了自动网络,例如BackendA_default和BackendB_default,因此每个后端都不能相互通信

  • 问题内容: 两个单独的Docker容器是否可以通过ZMQ IPC套接字进行通信?如果是这样,如何实现? 例如: Docker容器1 执行一个应用程序,该应用程序创建ZMQ响应套接字并绑定到“ ipc:// tmp / service_name”。 Docker Container#2 执行一个应用程序,该应用程序创建一个ZMQ Request套接字并连接到“ ipc:// tmp / servic

  • 问题内容: 我正在macOS 10.12上使用Docker 1.12.5,并且正在使用我设置一个开发环境,其中包含一个 应用程序 映像和一个共享的 Redis 映像,其中包含一些预先填充的配置变量。 即使遵循了一些教程(并阅读了Mac上不可用的知识),我仍在努力连接两个容器。 我使用以下命令开始我的图像: 在我的图像中,我有: 而 从我的Mac 我可以通过连接成功命令没有问题。 但是,当我开始一个

  • 我正在尝试使用docker-compose来设置气流实例,如官方文档中所述,我被困在气流初始化部分。看起来容器之间没有连接,但我不知道如何解决它。 我使用与文档中描述的相同的。可以在这里下载:https://airflow.apache.org/docs/apache-airflow/stable/docker-compose.yaml 目前,我在我的外壳中看到了这一点: 医生说我应该看到这样的东