Характеристики сервера:
os: Ubuntu 14.04
docker: 1.10.2
docker-compose: 1.6.0
Совсем недавно был обновлен с 1.9 до 1.10 и добавлен docker-compose (однако пока не использующий compose). Проблема с медлительностью не возникала до обновления.
Также Docker настроен с моим IP-адресом DNS и прокси, как в '/ 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
Два контейнера выполняют HTTP-вызовы между собой, используя имя_контейнера в качестве «хоста» для HTTP-вызовов, например:
container_b:3000/someurl
Эти вызовы, сделанные между двумя контейнерами по сети докер-моста, занимают очень много времени (~ 5 секунд). Эти вызовы обычно выполняются менее 100 мс.
Когда я изменяю сеть с --net = mynetwork на этих контейнерах и вместо этого запускаю их как --net = host, а также изменяю свои HTTP-вызовы, чтобы использовать «localhost» в качестве хоста вместо имени контейнера и открывать их порты через a -p флаг ... Вызовы выполняются за ожидаемое время ‹100 мс.
Похоже, что из-за сети моста докеров мои вызовы между контейнерами занимают очень много времени.
Есть идеи, где я могу найти, чтобы диагностировать / исправить эту проблему?