Не удалось получить доступ к inte rnet внутри docker windows контейнера - PullRequest
2 голосов
/ 16 января 2020

Я пытаюсь создать образ, используя docker windows контейнер . Вот мой dockerfile

FROM mcr.microsoft.com/windows/servercore:ltsc2019 as installer
RUN Invoke-WebRequest -URI 'www.google.com'

Когда я запускаю его, я не могу подключиться к google.com

Invoke-WebRequest : The remote name could not be resolved: 'www.google.com'
At line:1 char:73

Я работаю в корпоративной сети и попытался настроить прокси с помощью RUN netsh winhttp set proxy proxy-server="http://proxy.com:80" bypass-list="*.xyz.com" а также импортировал реестр HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

ipconfig / all внутри моего контейнера дает результат ниже

Windows IP Configuration

   Host Name . . . . . . . . . . . . : 0d5119fe9ce4
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft Hyper-V Network Adapter
   Physical Address. . . . . . . . . : 00-15-5D-B4-55-54
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fd80::a1f4:ab74:983:af83%4(Preferred)
   IPv4 Address. . . . . . . . . . . : 172.xxx.xxx.xx(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.xxx.xxx.xx
   Default Gateway . . . . . . . . . : 172.xxx.xxx.xx
   DHCPv6 IAID . . . . . . . . . . . : 67114333
   DHCPv6 Client DUID. . . . . . . . : 00-01-40-01-25-D1-CB-C4-00-15-5D-D4-A5-54
   DNS Servers . . . . . . . . . . . : 172.xxx.xxx.xx
                                       10.xxx.xxx.xx
   NetBIOS over Tcpip. . . . . . . . : Disabled

Я подозреваю, что есть некоторые проблемы с DNS / брандмауэром или неправильная установка прокси , Может ли кто-нибудь помочь мне определить причину root и устранить эту проблему.

1 Ответ

1 голос
/ 03 апреля 2020

У меня была та же проблема, и я смог ее решить, задав DNS.

Если вы делаете вызов во время сборки, вы можете установить его в своем демоне docker. В Docker Рабочий стол go выберите «Настройки»> «Docker Engine» и добавьте в конфигурацию JSON следующее:

"dns": ["1.1.1.1"]

https://docs.docker.com/engine/reference/commandline/dockerd/#daemon -dns-options

Если у вас возникла проблема во время выполнения, вы можете добавить аргумент dns

--dns 1.1.1.1

https://docs.docker.com/engine/reference/run/#network -settings

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...