问题标签 [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.
docker - 为 docker 容器指定 linux 接口
是否可以以某种方式指定 docker 容器应该使用哪个 linux 网络接口?我有多个接口,想为不同的容器使用不同的接口。
据我所知,我可以配置默认的 docker 网桥,但我无法为 docker 容器使用几个不同的网桥。
docker - 如何链接多个 Docker 容器并封装结果?
我有一个连接到 Neo4j 数据库的 Node.js Web 应用程序。我想将这些封装在单个 Docker 映像中(也使用Neo4j Docker 容器),但我是 docker 新手,似乎无法弄清楚这一点。在最新的 Docker 版本中推荐的方法是什么?
我的直觉是运行嵌套在应用容器内的 Neo4j 容器。但从我读过的内容来看,我认为支持/推荐的方法是将容器链接在一起。这张图片很好地说明了我需要的东西。但是我不清楚图像来自哪里的文章。无论如何,它正在使用即将被弃用的遗留容器链接,而这些天推荐使用网络。教程或解释将不胜感激。
另外,docker-compose如何适应这一切?
docker - Docker 链接容器、Docker Networks、Compose Networks - 我们现在应该如何“链接”容器
我有一个现有的应用程序,其中包含在同一主机上运行的 4 个 docker 容器。它们已使用link
命令链接在一起。
但是,在对 docker 进行了一些升级后,该link
行为已被弃用,并且似乎有所改变。我们现在遇到容器失去彼此链接的问题。
因此,docker 说要在ed 容器上使用新Network
功能。link
但我看不出这是如何工作的。
如果 2 个容器在同一个网络中,是否会ENV
像链接一样自动在容器上公开相同的变量?
或者是否使用正确的容器名称/IP 地址更新了主机文件?即使在docker restart
?
我在文档中看不到容器如何在其网络中找到另一个容器的位置?
此外,compose
看起来有一个用于链接容器的简单设置,并且可能会自动执行其中的一些操作 - 组合是定义多容器应用程序的方式吗?还是在生产中运行它还为时过早?
是否compose
也支持多主机配置?
在未来的某个时候,我们可能需要将其中一个容器移动到不同的主机......
linux - 无法在用户定义的网络上发现 docker 容器
由于我更新到 Docker 版本 1.10,我无法在用户定义的网络上找到其他容器。我无法 ping 连接到同一网络的新创建的容器。
我创建了一个名为“my_net”的网络。然后我创建一个带有标志的容器:“--net=my_net”并调用它:“first_container”。然后,当我为网络模式启动另一个具有相同标志的容器并启动对“first_container”的 ping 时,我收到错误消息:“bad message”。但是,如果我 ping 我可以从网络检查中读取的 IP 地址,我就可以 ping。
版本:
- Docker 版本1.10.0,构建 590d5108
- CentOS Linux 版本7.2.1511(核心)
- 内核3.10.0-327.4.5.el7.x86_64
在以下序列中,您可以看到我在做什么。
谁能帮我?
ubuntu - Ubuntu 上的 Docker 端口冲突
我正在使用 Ubuntu 并尝试使用 Xdebug(PHP 调试器)配置远程调试以在 Docker 容器上工作。
/li>我的容器暴露了 9000 端口(Xdebug 的工作端口)。
/li>由于Ubuntu中的docker机器和真机是一样的,所以
/li>docker-proxy
进程占用9000端口我的 IDE(Sublime Text)无法启动调试会话,因为它还需要侦听端口 9000。
/li>我尝试了另一个端口:
在 Ubuntu 中:
Docker容器内部:
(它适用于端口 12345)
我的
/li>docker-compose.yml
:
Dockerfile
将入口点设置为sh
运行服务的脚本(php-fpm、nginx ...)。我docker-compose up
用来运行容器。
我的问题是:
- 在 Ubuntu 中使用 Docker 时是否需要公开端口?
docker-proxy
如果继续侦听端口 9000 ,如何让我的 IDE 调试功能正常工作?- 我没有在容器中公开端口 12345,但为什么最后一个示例(netcat 和 telnet)仍然有效?
networking - Docker 桥接网络,容器之间的 HTTP 调用非常慢(在 docker 升级之后)
服务器规格:
刚刚从 1.9 升级到 1.10 并添加了 docker-compose(但是还没有使用 compose)。升级之前没有出现缓慢问题。
Docker 也配置了我的 DNS IP 和代理,就像在“/etc/default/docker”中一样
(我的 ip 在那里完全拼写出来,只是用 X 来提问)
我有两个容器(container_a、container_b)都运行 HTTP 服务器(Node.js),两个容器都运行在我通过以下方式创建的桥接网络(--net=mynetwork)上:
这两个容器使用 container_name 作为 HTTP 调用的“主机”在彼此之间进行 HTTP 调用,如下所示:
通过 docker bridge 网络在两个容器之间进行的这些调用需要很长时间才能完成(约 5 秒)。这些调用通常在 100 毫秒内运行。
当我在这些容器上从 --net=mynetwork 更改网络并将它们都作为 --net=host 运行时,同时修改我的 http 调用以使用“localhost”作为主机而不是容器名称并通过暴露它们的端口-p 标志... 调用在 < 100 毫秒的预期时间内运行。
看来 docker bridge 网络导致我在容器之间的调用需要很长时间。
关于我可以在哪里诊断/纠正这个问题的任何想法?
python - docker-py:在启动容器之前连接到网络
直到最近,我可以在启动容器之前将容器附加到网络,如下所示:
但是,现在我总是得到一个错误,因为当我将它连接到网络时容器还没有启动:
我可以使用命令行客户端重现相同的错误:
所以我需要在创建容器的时候直接将容器连接到网络:
在docker-py
中,如何在创建过程中直接将容器附加到网络?
docker - 连接到 Docker 容器失败
这是我运行 docker 容器的方式 -
容器操作系统 - Ubuntu 14.04 LTS
现在,由于我已将容器的 4444 映射到机器的容器,因此我尝试连接 -
现在我进入外壳 -
成功进入,我尝试获取机器的IP地址。
现在我从容器中出来,并尝试通过提供在 ifconfig 中找到的容器的 IP 地址从运行容器的机器连接到容器 -
有人可以解释一下吗
为什么我无法连接到机器?
我该怎么做才能连接到机器?
我正在运行一个仅安装 ubuntu 14.04 并公开 2 个端口的裸容器。没有什么花哨。
谢谢。
docker - 如何让其他网络机器通过IP访问Docker容器?
我需要创建一些必须由同一网络中的其他计算机访问的 docker 容器。
问题是当我创建容器时,Docker 获取的 IP 地址仅在主机内有效。
我已经查看了 Docker 文档(网络),但没有任何效果。
如果我ifconfig
在我的机器上运行,我的 IP 地址是172.21.46.149
. 当我进入容器(Ubuntu)并运行ifconfig
IP 地址时172.17.0.2
。例如,我需要 Docker 来获取172.21.46.150
.
我该怎么做?
docker - Docker 1.10 通过主机名从主机访问容器
我有带有嵌入式 DNS 服务的 Docker 1.10 版。
我在 docker-compose 文件中创建了两个服务容器。它们可以通过主机名和 IP 相互访问,但是当我想从主机访问其中一个时,它不起作用,它仅适用于 IP,但不适用于主机名。
那么,是否可以通过 Docker 1.10 中的主机名从主机访问 docker 容器?
更新:
码头工人-compose.yml
然后我通过命令启动它:docker-compose up --force-recreate
当我运行时:
docker exec -i -t docker_a ping -c4 docker_b
- 有用docker exec -i -t docker_b ping -c4 docker_a
- 有用ping 172.19.0.2
- 它有效(172.19.0.2
是docker_b
的 ip)ping docker_a
-失败
结果docker network inspect test_default
是