Мы используем Docker для наших локальных сред разработки и развертываем его в Google Cloud Container Engine для производства. Наш производственный сервер SQL также находится в Google Cloud.Докеры медленных нелокальных доступа к базе данных
Когда наш контейнер работает на экземпляре контейнера, доступ к БД происходит молниеносно, но на наших локальных машинах работает очень медленно. Некоторые загрузки страниц, которые обычно занимают 1,9 с при производстве, доставляются до 25,0 и выше для наших местных жителей.
Я предположил, что близость, возможно, была проблемой, поэтому я попытался загрузить контейнер MySQL Docker на свой локальный компьютер и вместо этого подключил локальный доклерный веб-сервер к этому и был быстрым. Эта загрузка страницы 1.9s на производстве колебалась вокруг 1.8s теперь на моем местном.
Я решил, что экземпляр MySQL Docker будет запущен на одном из наших серверов в нашем офисе, но когда я загружаю эти страницы обратно до 25.0 и снова.
Казалось бы, что-то замедляет соединение, когда Докеру необходимо подключиться к любому ресурсу, не на моей локальной машине.
Мой docker info
выход, если это помогает на всех:
Containers: 4
Running: 2
Paused: 0
Stopped: 2
Images: 203
Server Version: 1.12.2
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 209
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: null bridge host overlay
Kernel Version: 4.4.24-boot2docker
Operating System: Boot2Docker 1.12.2 (TCL 7.2); HEAD : 9d8e41b - Tue Oct 11 23:40:08 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 3.858 GiB
Name: dev
ID: AYO6:TL7P:XSST:VI5T:HKCC:QTOZ:HP3X:NKYQ:YCWT:THV2:AQM2:5XER
Docker Root Dir: /mnt/sda1/var/lib/docker
Debug mode (client): false
Debug mode (server): true
File Descriptors: 32
Goroutines: 58
System Time: 2016-10-26T22:46:19.218543394Z
EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
provider=virtualbox
EDIT:
При попытке сузить проблему, я создал контейнер MySQL Docker на моем Macbook, а затем настроить наш Докетированный веб-сервер на другом компьютере (работает Ubuntu 14.04).
Доступ к базе данных был быстрым, но когда я отменил это (MySQL на машине Ubuntu, веб-сервер на Macbook), это было ужасно медленным снова. Странный. Я также попробовал обновить Docker на моем Macbook до 1.12, который удаляет VirtualBox из уравнения, и это также не решило проблему.
Было бы странно, что что-то происходит с сетевым адаптером для Docker? Я в тупике.
Вы можете попытаться подключить веб-приложение к серверу базы данных по IP-адресу вместо имени хоста. Это устранит разрешение имени хоста или DNS из возможных причин. –
Пробовал это тоже. Медленное разрешение DNS было чем-то, что я читал о более ранних версиях Docker, но, похоже, это не проблема в этом случае. –
У меня такая же проблема. Освещение быстрого соединения на локальном хосте, но 30 секунд + при подключении на удаленном узле mysql (проверено облако Google и amazon aws) @ Justin Doyle – Renato