Восстановление dotnet работает локально, но не удается при сборке контейнера Docker

Если я создаю новое консольное приложение, используя dotnet classlib -lang f# -o hello-docker, cd в каталог, а затем запустите dotnet restoreвсе работает как положено.

Однако, если я добавлю Dockerfile со следующим содержанием

FROM microsoft/dotnet:2-sdk

WORKDIR /hello

COPY hello-docker.fsproj .
COPY *.fs ./

RUN dotnet restore

RUN dotnet build

ENTRYPOINT [ "dotnet", "run" ]

и беги docker build .не достигает nuget.org со следующим сообщением:

/usr/share/dotnet/sdk/2.0.0/NuGet.targets(102,5): ошибка: невозможно загрузить индекс службы для источника https://api.nuget.org/v3/index.json. [/Hello/hello-docker.fsproj]
/usr/share/dotnet/sdk/2.0.0/NuGet.targets(102,5): error: при отправке запроса произошла ошибка. [/Hello/hello-docker.fsproj]
/usr/share/dotnet/sdk/2.0.0/NuGet.targets(102,5): ошибка: не удалось разрешить имя хоста [/hello/hello-docker.fsproj]
Команда '/bin/sh -c dotnet restore' вернула ненулевой код: 1

Почему я могу восстановить локально, но не внутри контейнера Docker?

1 ответ

Я исправил это, перейдя в свойства / разделение на моем сетевом адаптере и поделился им с переключателем hyper-v/docker... думаю, что он называется nat или что-то в этом роде.

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