我已经使用本教程创建了我的第一个 docker webapi 项目。
我正在使用 Windows 7(泊坞窗工具箱)。
这是我跑过的:
dotnet new webapi
这是 Dockerfile:
FROM microsoft/dotnet:latest
COPY . /app
WORKDIR /app
RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]
EXPOSE 5000/tcp
ENV ASPNETCORE_URLS http://*:5000
ENTRYPOINT ["dotnet", "run"]
这就是我创建图像的方式:
docker build -t mydemos:aspnetcorehelloworld .
这就是我创建和运行容器的方式:
docker run -d -p 8080:5000 -t mydemos:aspnetcorehelloworld
我的服务作为 docker 容器成功运行。
然后,我尝试更改 Dockerfile 以在 aspnetcore 基础映像上工作:
FROM microsoft/dotnet:latest
改为FROM microsoft/aspnetcore:1.0.1
新的 Dockerfile 看起来像:
FROM microsoft/aspnetcore:1.0.1
COPY . /app
WORKDIR /app
RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]
EXPOSE 5000/tcp
ENV ASPNETCORE_URLS http://*:5000
ENTRYPOINT ["dotnet", "run"]
现在,我尝试使用
docker build -t mydemos:aspnetcorehelloworld1 .
我得到一个错误。
这是构建日志:
Sending build context to Docker daemon 636.9 kB
Step 1/8 : FROM microsoft/aspnetcore:1.0.1
---> 2c7bbc508bb2
Step 2/8 : COPY . /app
---> Using cache
---> 1d5b9bd908b3
Step 3/8 : WORKDIR /app
---> Using cache
---> c1d5d091d111
Step 4/8 : RUN dotnet restore
---> Running in 8399e21caeb2
Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
The command 'dotnet restore' returned a non-zero code: 145
我进入了网址,重新安装了东西,但仍然出现错误。
我尝试在同一个命令行会话中使用 dotnet cli 命令并且我成功了(dotnet restore
有效)。
我试图搜索这个错误,但找不到任何解决方案。
我在这里想念什么?我在多个场合和测试中都收到了这个 145 错误。