Невозможно установить пакеты с использованием chcolatey в контейнере docker - PullRequest
0 голосов
/ 23 февраля 2020

Я создаю windows контейнер со следующим установленным программным обеспечением

  1. Блокнот ++
  2. MariaDB
  3. Хайди SQL
  4. . NET Framework 2.0 и 3.5

Это изображение docker, которое я создал. https://hub.docker.com/repository/docker/mhhaji/winserver2016_base

Что я пытался:

Действия по запуску контейнера

docker run --name mycontainer mhhaji/winserver2016_base:v1 ping -t localhost

docker exec -it mycontainer powershell

После запуска powershell я выполняю следующие команды

Get-PackageProvider
#Chocolatey is not existing so I install chocolatey
Find-Package -Provider chocolatey
#Enter [Y] when prompted
#Install notepad++
Find-Package -Provider chocolatey -name notepad*

Я получаю следующую ошибку

 WARNING: NuGet: The request was aborted: Could not create SSL/TLS secure channel. 

enter image description here

Мне удалось загрузить Chocolatey, поэтому подключение к внешним конечным точкам не представляет проблемы.

Обновление: Похоже, что nuget не установлен в моем образе. Ищете решение, но не можете найти.

1 Ответ

0 голосов
/ 24 февраля 2020

Убедитесь, что ваша система может поддерживать TLS 1.2, поскольку это необходимо для запуска Chocolatey

PS> [Enum]::GetNames([Net.SecurityProtocolType]) -contains 'Tls12'

Включите TLS 1.2 для вашей системы

PS> [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

Окончательно установите шоколадку прямо из источника

PS> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'));

...