如果我使用 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):错误:发送请求时发生错误 . [/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或者其他东西 .