wget Невозможно подключиться к удаленному серверу в процессе сборки Docker - PullRequest
0 голосов
/ 18 апреля 2019

Я работаю с образом докера nugardt / msbuild (windows), но мне нужно добавить в nodejs и gulp, чтобы я создал этот файл Docker

FROM nugardt/msbuild:15.0 

RUN powershell -Command \
    wget -Uri https://nodejs.org/dist/v10.15.3/node-v10.15.3-x64.msi -OutFile node.msi -UseBasicParsing ; \
    Start-Process -FilePath msiexec -ArgumentList /q, /i, node.msi -Wait ; \
    Remove-Item -Path node.msi

RUN npm install gulp 

Проблема в том, что при запуске происходит сбой с

Step 5/6 : RUN powershell -Command     wget -Uri http://104.20.22.46/dist/v10.15.3/node-v10.15.3-x64.msi -OutFile node.msi -UseBasicParsing ;     Start-Process -FilePath msiexec -ArgumentList /q, /i, node.msi -Wait ;     Remove-Item -Path node.msi
 ---> Running in 488871f089ff
wget : Unable to connect to the remote server
At line:1 char:1
+ wget -Uri http://104.20.22.46/dist/v10.15.3/node-v10.15.3-x64.msi -Ou ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:Htt
   pWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShe
   ll.Commands.InvokeWebRequestCommand

Remove-Item : Cannot find path 'C:\node.msi' because it does not exist.
At line:1 char:175
+ ... xec -ArgumentList /q, /i, node.msi -Wait ; Remove-Item -Path node.msi
+                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\node.msi:String) [Remove-Ite
   m], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.Remov
   eItemCommand

Я огляделся вокруг и ничего не могу найти. Я пробовал

  • две разные сети
  • добавлены настройки DNS в конфигурацию Docker
  • изменил URL на HTTP вместо HTTPS
  • использовал IP-адрес вместо nodejs.org

Я не уверен, что делать дальше, команда wget прекрасно работает в powershell, но когда я запускаю сборку Docker, она не работает.

Редактировать : я переключил wget для ADD, и он работал просто отлично. Не знаю, почему wget не подключается, но ADD устранил мою проблему. Я не собираюсь делать это ответом, потому что это не решает саму проблему wget.

ADD https://nodejs.org/dist/v10.15.3/node-v10.15.3-x64.msi .\node.msi
...