Проблемы при загрузке в докере на базе windowsservercore (Appveyor, Visual Studio 2017)

У меня небольшой вопрос о загрузке файлов на образ докера windowsservercore. У меня есть небольшой образ докера, указанный здесь: https://github.com/EndurantDevs/sonarqube-mysql-windows-docker

Как видите, есть четыре похожих файла Docker: 2 версии SonarQube, основанные на 2 версиях контейнеров Windows (nanoserver и windowsservercore, через образ openjdk)

В процессе сборки загрузка необходимых файлов на nanoserver проходит успешно.

Однако на образах windowsservercore у меня возникает такая проблема:

Invoke-WebRequest : The underlying connection was closed: An unexpected error  occurred on a send. At line:1 char:1
+ Invoke-WebRequest https://sonarsource.bintray.com/Distribution/sonarq ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:Htt     pWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShe     ll.Commands.InvokeWebRequestCommand

Таким образом, проблема возникает при загрузке одних и тех же файлов с тех же серверов, которые хорошо работают с nanoserver.

Применение всех известных исправлений, включая Tls12, не помогло. Я предполагаю, что это проблема на хост-машине на стороне Appveyor. Однако даже исправления для реестра, которые я пробовал, также не помогли.

Вот информация о сборках для сравнения: https://ci.appveyor.com/project/dnikolayev/sonarqube-mysql-windows-docker/build/1.0.53

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
0
247
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте добавить команду [Net.ServicePointManager]::SecurityProtocol перед Invoke-WebRequest, чтобы отобразить протоколы, включенные в экземпляре докера, и сравнить «хороший» и «плохой». После сравнения вы можете принять решение, как обновить настройки SSL.

Самое простое можно было бы разрешить, установив [Net.ServicePointManager]::SecurityProtocol = 'Ssl3', 'Tls', 'Tls11', 'Tls12'. Это не обязательно поставит под угрозу вашу безопасность, так как это позволит клиент согласовывать любой протокол безопасности с сервером, но в любом случае он будет пытаться использовать максимально возможное значение. Но вы можете быть более ограничительными, и сравнение «хороших» и «плохих» сборок с помощью команды [Net.ServicePointManager]::SecurityProtocol даст вам представление.

Я обновил расширенную строку, которую вы указали, сборка все еще идет. Однако это начало работать. Очень забавно, что образ наносервера работает нормально, но не windowsservercore: ci.appveyor.com/project/dnikolayev/…

Nick 07.07.2018 14:45

Другие вопросы по теме