问题标签 [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.
docker - 获取 Docker 网络的主机名/IP
我有这个:
如何获取此 Docker 网络“cdt-net”的本地 IP/主机名?
使用docker network inspect cdt-net
,我得到:
但从那以后,我仍然不确定如何从容器外部通过 IP 访问其中一个容器。那可能吗?
selenium - Selenium 找不到在单独容器中运行的文件
我有 4 个容器在同一个 Docker 网络中运行
- mongodb
- 我们的 api 服务器
- 硒服务器
- 我们的测试本身
我从我们的测试容器中得到这个错误:
但是,从我的测试日志来看,这个文件完全存在......在测试容器中。
我认为,问题在于 selenium 服务器没有与我们的测试容器查看相同的文件系统,因为它们在不同的容器中运行。
解决此问题的最佳方法是什么?
一个。我应该尝试在同一个容器中运行它们吗?
湾。我能以某种方式让他们共享同一个文件系统吗?
C。?
node.js - docker-compose 节点应用程序无法连接互联网
我在使用 docker-compose 容器时遇到问题。某处肯定有答案,但我似乎没有找到它所需的词汇,抱歉。
这是我的 docker-compose 文件:
我在 dev-user 中的节点应用程序假设使用网关作为代理来连接互联网上的 api,并且 dev-user 实际上找到了网关,并且能够连接到它(使用主机名'gateway-linkcs')但是,我的网关应用无法连接到外部 API:
我已经测试了在 docker 之外启动网关(节点 index.js),它运行良好。
我想我缺少 docker-compose 网络的一些东西,有人可以帮忙吗?
非常感谢,吉尔索。
docker - 如何更改码头工人的默认网络?
我创建了一个新的 docker 网络( macvlan https://docs.docker.com/engine/userguide/networking/get-started-macvlan/)
在创建新容器时,如何告诉 docker 默认使用这个网络(而不是桥接)?我想为每个新容器保留 --net 。
docker - 如何在一台物理服务器内的两个 docker 网络之间使用防火墙
我想在物理服务器上使用像 DMZ 这样的 docker 网络和内部网络。
docker network create DMZ ...
docker network create Internal ...
现在我想只允许3306/tcp 到 DMZ 到内部流量。我知道docker网络不允许每个网络互相访问,但实际上两者都可以通过桥接网络访问。或者,我将能够使用两个网络都可以访问的另一个网络。如果我可以在网络之间放置一个防火墙容器,或者在任一网络中的容器上使用防火墙服务,我想我可以创建虚拟 DMZ 和内部网络环境。我尝试在容器内使用firewalld,但它不起作用。
使用 DMZ 和内部等 docker 网络的好习惯是什么?我也想知道swarm case。欢迎任何建议!
docker - 从通过 compose 启动的容器访问正在运行的容器
我有一个在通过标准“docker run ...”命令启动的主机上运行的 docker 容器。它运行的网络是“directory_default”的默认名称,其中“directory”是当前目录的名称。
我还有一个 docker compose 文件(在同一主机上),其中包含另一个需要访问已经运行的容器的容器定义。但是,在运行 compose 文件时,我一直看到一个错误,指出无法访问网络。
阅读无法链接到由 docker-compose 启动的正在运行的容器似乎指向一个类似的问题,但反过来(连接到通过 compose 启动的正在运行的容器)。
我尝试在 compose 中设置环境变量并使用 --project-name 标志来设置网络,但没有运气。我还尝试使用撰写文件的“网络”部分来定义我在运行时看到的网络名称:
但是在运行时:
然后给出错误:
这是正在使用的输出/文件(在目录“test”中运行):
如前所述,第一个容器是通过“docker run ...”从“test”目录启动的。撰写文件如下:
我还尝试删除上面的“网络”部分并调用 docker-compose:
如撰写文档中所述。我没有使用群模式。
docker - docker 无法在网络 br1 上创建端点 xxx:网络 xxx 不存在
当我创建网络时,它可以正常工作。
但是当我重新启动主机(或重新启动 docker)时,它无法启动容器
我显示网络列表,它在那里,但错误消息告诉我它不存在
我的码头工人版本是 1.12.6
docker - 如何为不同的容器访问 docker 内的公共 IP
希望你一切顺利。
先前信息:
我正在使用 Docker 版本 17.06.0-ce 和 CentOS 7.3
我正在运行基于微服务的应用程序,我需要在不同的公共 ip 上运行 docker 容器。端口绑定对我来说不是一个选项(IP:80:80),因为微型工作者在没有任何端口绑定的容器内运行。他们只是从队列中获取数据,处理它并再次发送到队列。我需要在不同的公共 ip 上并行运行这些工作程序以更快地运行该过程。我可以使用相同的工作应用程序集启动不同的容器,但它们都在侦听相同的公共 IP(docker 容器私有 IP 不同)。如何使用不同的公共 IP 运行不同的容器?
谢谢并恭祝安康
docker - 使用 Docker 网络出现 ENOTFOUND 错误
我有几个容器正在运行并使用带有--net
标志的网络。直到最近,这一切都运行良好,现在同一网络中的容器无法相互通信,并且出现 ENOTFOUND 错误。不太确定如何调试这个,为什么会发生这种情况?
我在 Docker 版本上:
这个问题在 MacOS 和 Linux 上都发生了。
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 并尝试更改我的配置文件以直接指向它。但仍然不确定为什么它不会连接。