【发布时间】:2018-03-08 04:49:00
【问题描述】:
如果我使用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 容器内恢复?
【问题讨论】:
-
您使用的是哪个操作系统?
-
@tarunlalwani Windows 10。
-
我认为由于某种原因互联网无法在您的 Docker 容器中运行。尝试从设置中重新启动 docker VM
-
老实说不确定,尝试摆脱 docker 并重新安装它,看看它是否有任何帮助
-
是的,重新安装 docker 就可以了。很奇怪,但我想某处有一些防火墙规则使它失效。谢谢!
标签: docker .net-core windows-10