问题标签 [docker-networking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
64 浏览

docker - 是否可以向 Docker 容器添加接口以加快连接速度?

我有一段时间遇到这个问题我不知道如何解决它。我有一个运行 PHP+Apache 和应用程序的 Docker 容器。MySQL 和 MongoDB 服务器与主机位于同一网络上。所以:

  • MySQL数据库服务器IP: 192.168.1.98
  • Mongo DB服务器IP: 192.168.1.98
  • 主机: 192.168.1.90

由于某种原因,运行在容器上的应用程序和数据库服务器之间的连接非常缓慢,有时运行长查询需要超过一分钟。

我可以说问题不在于数据库服务器,因为在同一台服务器上运行相同的应用程序运行速度很快,所以我认为这与网络有关,但我不确定是什么或为什么。

有人可以给我一些建议吗?

0 投票
1 回答
622 浏览

docker - Docker:将 VPN 限制为单个容器

我的 docker 主机有多个网卡,虽然是同一个网络

- Card1: 192.168.0.50

- Card2: 192.168.0.55

我从容器 1 连接到 VPN,但不是从容器 2。

在容器 1 上连接 VPN 后,两个容器都有新的 IP。

有没有办法将 VPN 限制为仅单个容器而不影响另一个容器?

0 投票
1 回答
241 浏览

docker - 访问 Docker 容器内的微服务?

我有一个 Dropwizard 微服务在端口的容器中运行9000

在 Dockerfile 中,我像这样暴露了端口

然后我像这样运行容器

docker run --add-host="localhost:10.0.2.2" -t foo-service

但是,当我尝试访问它时,localhost:9000我没有在浏览器中得到响应。

如何从 Docker 主机访问微服务?

Docker 主机是 Ubuntu 16.04

非常感谢

0 投票
1 回答
5632 浏览

docker - Docker 组合网络和“内部”属性示例

我试图在 docker-compose.yml v2 中找到使用网络声明的“内部”属性的示例。

换句话说,我搜索如何做到这一点:

但在 docker-compose.yml 中。

尝试使用此变体时出现错误:

错误信息:

0 投票
1 回答
9241 浏览

docker - docker从容器连接到主机隧道

我想从我的 docker 容器内部与使用主机中的隧道的 postgres db 连接。在主机中,我有一个指向数据库主机的隧道:

隧道设置为:

从主机我可以启动 psql 命令:

由于我使用的是网络模式BRIDGE [我不能使用HOST,因为 docker 没有正确地将容器端口公开给主机,请参见:https ://github.com/docker/compose/issues/3442 ] 我读到我必须使用容器ip:

在这种情况下是172.17.0.1

但是,当我进入容器时:

我尝试连接我有:

有什么我想念的吗?

0 投票
2 回答
2668 浏览

docker - Docker:无法打开从容器到主机的端口

我正在使用Docker for Mac. 我有一个运行服务器的容器,例如我的服务器在端口 5000 上运行。我已经在Dockerfile

当我的容器运行时,我连接到该容器并通过运行以下命令检查该服务器是否正常工作,并查看它是否返回数据(一堆 html 和 javascript)

注意,我启动这个容器并通过命令在外部发布端口:

但是在 docker 主机(是我的 mac 并且正在运行 El Capitan),我打开 chrome 并转到 address localhost:5000。它不起作用。请注意,如果我转到任何任意端口,例如localhost:4000我看到来自 chrome 的错误消息,例如:

但错误信息localhost:5000是:

所以看来我已经“稍微”配置了工作,但出了点问题。请告诉我如何解决这个问题。

0 投票
1 回答
17717 浏览

docker - 无法解析 docker 容器之间的主机名

我在单独的撰写文件中创建了两个容器(用于应用程序隔离——每个应用程序可能在撰写文件中定义了多个容器,例如后备数据库)。

这些容器通过名为“common”的外部网络链接。

一个示例撰写文件将是:

码头工人版本:

公共网络是使用以下方法创建的:

然后我使用以下方法启动容器:

检查我得到的网络:

其他容器因无法解析“rabbitmq”主机名而崩溃。检查崩溃的容器表明它们在同一个网络上:

如果我登录到一个没有尝试访问 rabbitmq 容器并且没有崩溃的容器,则主机名不会解析。但是,rabbitmq 容器的 ip 地址是可以访问的。

登录到 rabbitmq 容器时:

关于如何解决这个问题或我应该检查的事情有什么建议吗?

更新 1

  • 我已尝试添加external_links,但问题仍然存在,并且没有/etc/hosts为外部主机名“rabbitmq”添加任何条目
0 投票
1 回答
5250 浏览

docker - 从远程机器连接到容器

我创建了一个用户定义的网络(桥接模式)hb1 并添加了 2 个容器。但是,我无法从网络上的外部主机连接到它们。

我尽可能仔细地检查并遵循此处此处的说明。

当我从我的 docker 主机 ping 时,它按预期工作。

但是,无法从远程主机访问容器。

我应该如何配置 docker 用户定义的网络或我的本地网络,以便我可以在单独的 IP 地址上访问容器?

0 投票
2 回答
1236 浏览

docker - 带有自定义网络的 Docker swarm

我正在尝试研究如何在 Docker 中正确使用 swarm 模式。首先,我尝试在我的 2 台工作人员和经理机器上运行容器,而不指定自定义网络(所以我使用默认的入口覆盖网络)。但是,如果我使用入口网络,由于某种原因我无法解析tasks.myservice.

所以我尝试像这样配置自定义网络:

所以现在,当我bash进入其中一个容器时,我可以成功解析tasks.myservice,但我无法再访问我在--publish外部创建服务中定义的端口(当我使用入口网络时可以访问)。

有没有办法:

  1. 使用入口网络并能够解析tasks.myservice或任何其他将指向我所有服务容器的 DNS 记录?

  2. 或者,使用自定义网络,但--publish端口正确,以便我可以从外部访问它们?

编辑

这就是我创建服务的方式,

没有自定义网络:

使用自定义网络:

0 投票
0 回答
372 浏览

docker - mac 上的 Docker --add-hosts 选项并没有真正添加主机

我在 macOS sierra 上运行了 docker 1.12.3。

我需要我的服务器在 hosts 文件中设置多个 ips,并将容器主机名设置为解析为 127.0.0.1。

我有以下命令

所以主机名确实更改为 myHostName,并添加到主机文件中。但是,它什么也没做!尝试在我的服务器中使用它,甚至只是执行 ping myHostName resolve in

从文档看来它应该可以工作,但事实并非如此。我真的需要它,我没有更多的想法如何解决它。

请帮忙。