问题标签 [docker-network]

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 投票
0 回答
988 浏览

docker - 获取 Docker 网络的主机名/IP

我有这个:

如何获取此 Docker 网络“cdt-net”的本地 IP/主机名?

使用docker network inspect cdt-net,我得到:

但从那以后,我仍然不确定如何从容器外部通过 IP 访问其中一个容器。那可能吗?

0 投票
2 回答
359 浏览

selenium - Selenium 找不到在单独容器中运行的文件

我有 4 个容器在同一个 Docker 网络中运行

  • mongodb
  • 我们的 api 服务器
  • 硒服务器
  • 我们的测试本身

我从我们的测试容器中得到这个错误:

但是,从我的测试日志来看,这个文件完全存在......在测试容器中。

我认为,问题在于 selenium 服务器没有与我们的测试容器查看相同的文件系统,因为它们在不同的容器中运行。

解决此问题的最佳方法是什么?

一个。我应该尝试在同一个容器中运行它们吗?

湾。我能以某种方式让他们共享同一个文件系统吗?

C。?

0 投票
0 回答
151 浏览

node.js - docker-compose 节点应用程序无法连接互联网

我在使用 docker-compose 容器时遇到问题。某处肯定有答案,但我似乎没有找到它所需的词汇,抱歉。

这是我的 docker-compose 文件:

我在 dev-user 中的节点应用程序假设使用网关作为代理来连接互联网上的 api,并且 dev-user 实际上找到了网关,并且能够连接到它(使用主机名'gateway-linkcs')但是,我的网关应用无法连接到外部 API:

我已经测试了在 docker 之外启动网关(节点 index.js),它运行良好。

我想我缺少 docker-compose 网络的一些东西,有人可以帮忙吗?

非常感谢,吉尔索。

0 投票
2 回答
2396 浏览

docker - 如何更改码头工人的默认网络?

我创建了一个新的 docker 网络( macvlan https://docs.docker.com/engine/userguide/networking/get-started-macvlan/

在创建新容器时,如何告诉 docker 默认使用这个网络(而不是桥接)?我想为每个新容器保留 --net 。

0 投票
0 回答
705 浏览

docker - 如何在一台物理服务器内的两个 docker 网络之间使用防火墙

我想在物理服务器上使用像 DMZ 这样的 docker 网络和内部网络。

docker network create DMZ ... docker network create Internal ...

现在我想允许3306/tcp 到 DMZ 到内部流量。我知道docker网络不允许每个网络互相访问,但实际上两者都可以通过桥接网络访问。或者,我将能够使用两个网络都可以访问的另一个网络。如果我可以在网络之间放置一个防火墙容器,或者在任一网络中的容器上使用防火墙服务,我想我可以创建虚拟 DMZ 和内部网络环境。我尝试在容器内使用firewalld,但它不起作用。

使用 DMZ 和内部等 docker 网络的好习惯是什么?我也想知道swarm case。欢迎任何建议!

0 投票
1 回答
730 浏览

docker - 从通过 compose 启动的容器访问正在运行的容器

我有一个在通过标准“docker run ...”命令启动的主机上运行的 docker 容器。它运行的网络是“directory_default”的默认名称,其中“directory”是当前目录的名称。

我还有一个 docker compose 文件(在同一主机上),其中包含另一个需要访问已经运行的容器的容器定义。但是,在运行 compose 文件时,我一直看到一个错误,指出无法访问网络。

阅读无法链接到由 docker-compose 启动的正在运行的容器似乎指向一个类似的问题,但反过来(连接到通过 compose 启动的正在运行的容器)。

我尝试在 compose 中设置环境变量并使用 --project-name 标志来设置网络,但没有运气。我还尝试使用撰写文件的“网络”部分来定义我在运行时看到的网络名称:

但是在运行时:

然后给出错误:

这是正在使用的输出/文件(在目录“test”中运行):

如前所述,第一个容器是通过“docker run ...”从“test”目录启动的。撰写文件如下:

我还尝试删除上面的“网络”部分并调用 docker-compose:

如撰写文档中所述。我没有使用群模式。

0 投票
0 回答
2052 浏览

docker - docker 无法在网络 br1 上创建端点 xxx:网络 xxx 不存在

当我创建网络时,它可以正常工作。

但是当我重新启动主机(或重新启动 docker)时,它无法启动容器

我显示网络列表,它在那里,但错误消息告诉我它不存在

我的码头工人版本是 1.12.6

0 投票
1 回答
4364 浏览

docker - 如何为不同的容器访问 docker 内的公共 IP

希望你一切顺利。

先前信息:

我正在使用 Docker 版本 17.06.0-ce 和 CentOS 7.3

我正在运行基于微服务的应用程序,我需要在不同的公共 ip 上运行 docker 容器。端口绑定对我来说不是一个选项(IP:80:80),因为微型工作者在没有任何端口绑定的容器内运行。他们只是从队列中获取数据,处理它并再次发送到队列。我需要在不同的公共 ip 上并行运行这些工作程序以更快地运行该过程。我可以使用相同的工作应用程序集启动不同的容器,但它们都在侦听相同的公共 IP(docker 容器私有 IP 不同)。如何使用不同的公共 IP 运行不同的容器?

谢谢并恭祝安康

0 投票
0 回答
293 浏览

docker - 使用 Docker 网络出现 ENOTFOUND 错误

我有几个容器正在运行并使用带有--net标志的网络。直到最近,这一切都运行良好,现在同一网络中的容器无法相互通信,并且出现 ENOTFOUND 错误。不太确定如何调试这个,为什么会发生这种情况?

我在 Docker 版本上:

这个问题在 MacOS 和 Linux 上都发生了。

0 投票
1 回答
144 浏览

java - docker网络在没有链接的情况下无法工作

我有一个mysql容器和一个service需要连接到容器的mysql容器。

我创建了一个网络docker network create chrisbolton

我正在旋转mysql容器

docker run --name chrisbolton-mysql -v /Users/Bolton/chrisbolton-data:/var/lib/mysql --network chrisbolton -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=chrisbolton -d mysql:latest

我正在旋转service容器

docker run -p 8080:8080 --name chrisbolton-service --network chrisbolton --link chrisbolton-mysql:mysql -d chrisbolton-service

但是,我知道这link已被弃用,我需要改为仅使用networks. 但是,如果我删除link这里,两个容器将无法通信。

我正在mysql使用以下配置连接:

我已经完成了docker network inspect chrisbolton获取 IPAddresses 并尝试更改我的配置文件以直接指向它。但仍然不确定为什么它不会连接。