服务器规格:
os: Ubuntu 14.04
docker: 1.10.2
docker-compose: 1.6.0
刚刚从 1.9 升级到 1.10 并添加了 docker-compose(但是还没有使用 compose)。升级之前没有出现缓慢问题。
Docker 也配置了我的 DNS IP 和代理,就像在“/etc/default/docker”中一样
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --dns 138.XX.XX.X"
export http_proxy="http://proxy.myproxy.com:8888/"
(我的 ip 在那里完全拼写出来,只是用 X 来提问)
我有两个容器(container_a、container_b)都运行 HTTP 服务器(Node.js),两个容器都运行在我通过以下方式创建的桥接网络(--net=mynetwork)上:
docker network create mynetwork
这两个容器使用 container_name 作为 HTTP 调用的“主机”在彼此之间进行 HTTP 调用,如下所示:
container_b:3000/someurl
通过 docker bridge 网络在两个容器之间进行的这些调用需要很长时间才能完成(约 5 秒)。这些调用通常在 100 毫秒内运行。
当我在这些容器上从 --net=mynetwork 更改网络并将它们都作为 --net=host 运行时,同时修改我的 http 调用以使用“localhost”作为主机而不是容器名称并通过暴露它们的端口-p 标志... 调用在 < 100 毫秒的预期时间内运行。
看来 docker bridge 网络导致我在容器之间的调用需要很长时间。
关于我可以在哪里诊断/纠正这个问题的任何想法?