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

Мне нужно подключиться к inte rnet изнутри контейнера.

Первоначально демон Docker не смог подключиться к inte rnet, и я не смог даже запустить:

docker pull hello-world

Я решил эту проблему, указав ручной прокси-сервер в настройках docker рабочего стола GUI в разделе ресурсов После того, как я вручную установил прокси-сервер, я смог вытащить изображение hello-world - так что я знаю этот прокси работает.

Затем я создал тестовый Dockerfile, чтобы проверить, могу ли я получить контейнер для подключения к inte rnet при создании образа, и это Dockerfile:

FROM mcr.microsoft.com/windows/servercore:1903
RUN curl 'www.google.co.za'

и получил следующий результат:

PS C:\Projects\Test> docker build -t test:01 .

Sending build context to Docker daemon  3.906GB

Step 1/2 : FROM mcr.microsoft.com/windows/servercore:1903

---> 66c07b0d3e85

Step 2/2 : RUN curl 'www.google.co.za'

---> Running in 99f79ea70731

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: 'www.google.co.za'

The command 'cmd /S /C curl 'www.google.co.za'' returned a non-zero code: 6

Как было предложено здесь Я попытался добавить DNS следующим образом:

"dns": ["1.1.1.1"]

, но получил тот же результат, что и выше . Ранее у меня были проблемы в контейнерах Linux, когда я не мог устанавливать пакеты внутри контейнера, и мне пришлось добавить следующее в Dockerfile, который работал:

ENV HTTP_PROXY http://myproxy:3128
ENV http_proxy http://myproxy:3128

Я пробовал сделать это в своем тесте Dockerfile, и я получаю этот результат (обратите внимание, что это результат без настроек DNS):

PS C:\Projects\Test> docker build -t test:01 .

Sending build context to Docker daemon  3.906GB

Step 1/4 : FROM mcr.microsoft.com/windows/servercore:1903

---> 66c07b0d3e85

Step 2/4 : ENV HTTP_PROXY http://myproxy.com:3128

---> Using cache

---> d6bbca2c1984

Step 3/4 : ENV http_proxy http://myproxy.com:3128

---> Using cache

---> a22311c57c8d

Step 4/4 : RUN curl 'www.google.co.za'

---> Running in 3e3be3786b62

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100   874  100   874    0     0    874      0  0:00:01 --:--:--  0:00:01  1189

<HTML><HEAD>

<TITLE>Network Error</TITLE>

</HEAD>

<BODY>

<FONT face="Helvetica">

<big><strong></strong></big><BR>

</FONT>

<blockquote>

<TABLE border=0 cellPadding=1 width="80%">

<TR><TD>

<FONT face="Helvetica">

<big>Network Error (dns_unresolved_hostname)</big>

<BR>

<BR>

</FONT>

</TD></TR>

<TR><TD>

<FONT face="Helvetica">

Your requested host "'www.google.co.za'" could not be resolved by DNS.

</FONT>

</TD></TR>

<TR><TD>

<FONT face="Helvetica">

 

</FONT>

</TD></TR>

<TR><TD>

<FONT face="Helvetica" SIZE=2>

<BR>

For assistance, contact your network support team.<br><br>Your request was categorized by Blue Coat Web Filter as 'none'. <br>If you wish to question or dispute this result, please click <a href="http://sitereview.bluecoat.com/sitereview.jsp?referrer=136&url=http://'www.google.co.za'/">here</a>.

</FONT>

</TD></TR>

</TABLE>

</blockquote>

</FONT>

</BODY></HTML>

Removing intermediate container 3e3be3786b62

---> 79dcdbf32644

Successfully built 79dcdbf32644

Successfully tagged test:01

Если я добавлю настройки DNS обратно в docker GUI, я получу следующий результат:

PS C:\Projects\Test> docker build -t test:01 .

Sending build context to Docker daemon  3.906GB

Step 1/4 : FROM mcr.microsoft.com/windows/servercore:1903

---> 66c07b0d3e85

Step 2/4 : ENV HTTP_PROXY http://myproxy.com:3128

---> Running in 4ac3e6e23b5f

Removing intermediate container 4ac3e6e23b5f

---> 6bfbb6923789

Step 3/4 : ENV http_proxy http://myproxy.com:3128

---> Running in 7e7b08cef7b3

Removing intermediate container 7e7b08cef7b3

---> 4a827371e6fa

Step 4/4 : RUN curl 'www.google.co.za'

---> Running in 317a2ea37342

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:--  0:00:10 --:--:--     0curl: (5) Could not resolve proxy: myproxy.com

The command 'cmd /S /C curl 'www.google.co.za'' returned a non-zero code: 5

Таким образом, с настройками DNS он не может разрешить прокси, а без настроек DNS он не может разрешить URL. Не знаю, что дальше делать.

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