Хорошо .. Извините, что засоряю этот сайт бесконечными вопросами. У меня есть REST API. NET, который работает в DOCKER. (Windows контейнер) Но в тот момент, когда я пытаюсь подключиться к Postgres на моем хосте, я не могу подключиться. Я не могу подключиться, время ожидания запроса истекло, соединение было активно отклонено ... Я уже тысячу раз изменял строку подключения, пытаясь заставить это работать.
когда я смотрю на docker сети, получается :
C:\Windows\SysWOW64>docker network ls
NETWORK ID NAME DRIVER SCOPE
4c79ae3895aa Default Switch ics local
40dd0975349e nat nat local
90a25f9de905 none null local
когда я проверяю свой контейнер, он говорит, что использует NAT для сети.
C:\Windows\SysWOW64>docker network inspect nat
[
{
"Name": "nat",
"Id": "40dd0975349e1f4b334e5f7b93a3e8fb6aef864315ca884d8587c6fa7697dec5",
"Created": "2020-07-08T15:02:17.5277779-06:00",
"Scope": "local",
"Driver": "nat",
"EnableIPv6": false,
"IPAM": {
"Driver": "windows",
"Options": null,
"Config": [
{
"Subnet": "172.22.96.0/20",
"Gateway": "172.22.96.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"0d2dc2658a9948d84b01eaa9f5eb5a0e7815933f5af17e5abea17b82a796e1ec": {
"Name": "***MyAPI***",
"EndpointID": "3510dac9e5c5d49f8dce18986393e2855008980e311fb48ed8c4494c9328c353",
"MacAddress": "00:15:5d:fc:4f:8e",
"IPv4Address": "172.22.106.169/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.windowsshim.hnsid": "3007307C-49DC-4DB5-91C8-0E05DAC8E2B6",
"com.docker.network.windowsshim.networkname": "nat"
},
"Labels": {}
}
]
Когда я смотрю на свои сетевые свойства моего хоста, я вижу:
Name: vEthernet (nat)
Description: Hyper-V Virtual Ethernet Adapter #2
Physical address (MAC): 00:15:5d:fc:43:56
Status: Operational
Maximum transmission unit: 1500
IPv4 address: 172.22.96.1/20
IPv6 address: fe80::d017:d598:692a:2e67%63/64
DNS servers: fec0:0:0:ffff::1%1, fec0:0:0:ffff::2%1, fec0:0:0:ffff::3%1
Connectivity (IPv4/IPv6): Disconnected
Я предполагаю, что NAT в сети docker связан с этим сетевым адаптером Hyper v. оба имеют 172.22.96.1 в качестве IP-адреса
строка подключения:
Server = 172.22.96.1; Port = 5433; Database = QuickTechAssetManager; Uid = QuickTech; Pwd = password;
ТАК ... когда я пытаюсь подключиться от контейнера к хосту, чтобы подключиться к postgres, я получаю ошибки, хотя я могу пропинговать UP-адрес.
когда я смотрю на свой файл хоста host. docker .internal установлен на 10.0.0.47 (мое подключение к Wi-Fi). Является ли это "отключением" частью моих сетевых проблем.
Я отправил несколько вопросов по этому поводу и получил один ответ, а потом больше ничего. Я очень хотел бы, чтобы кто-нибудь поработал со мной немного, чтобы решить эту - которая должна быть незначительной - проблемой.
Я изменил свой файл pg_hba.conf, я сделал все, что смог найти .. .
Я дам номер телефона или адрес электронной почты всем, кто захочет помочь мне решить эту проблему. Я убивал себя больше недели и ничего не добился. Я даже не уверен, что здесь разрешены такие запросы, но я в отчаянии. Я работаю над проектом три месяца и не могу получить деньги, пока не решу эту незначительную проблему.
вот другой вопрос, который я задал несколько дней: go: Docker контейнер для подключения на Postgres не в docker
rentedtrout@gmail.com для всех, кто хочет работать со мной над этим.
Пожалуйста, заранее спасибо.