Восстановление 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 или что-то в этом роде.