Dotnet核心Docker应用挂在Synology版本上

我有一个用dotnet核心编写的REST API,我之前在Linux VM(Ubuntu)上构build了Docker镜像。 build立的形象,我能够推动没有太多的问题。 但是,当我在Synology盒子上运行它时,它会抛出下面引用CLI更改的错误。

Project app (.NETCoreApp,Version=v1.0) will be compiled because the version or bitness of the CLI changed since the last build 

我以为我只要telnet进入Synology盒子,在那里build立图像。 不幸的是,它每当它试图运行dotnetfunction时都会挂起。 下面是Dockerfile和docker内置的日志。

Dockerfile:

 FROM microsoft/dotnet:1.0.0-preview2-sdk WORKDIR /app COPY project.json . RUN dotnet restore EXPOSE RANDOM_PORT_NUMBER COPY . . RUN dotnet publish -c Release RUN chmod +x /app/bin/Release/netcoreapp1.0/publish RUN cd /app/bin/Release/netcoreapp1.0/publish ENTRYPOINT dotnet run app.dll 

这是从docker构build过程中得到的输出:

 Step 1 : FROM microsoft/dotnet:1.0.0-preview2-sdk ---> 6704971aa9c1 Step 2 : WORKDIR /app ---> Using cache ---> cc0d0e6897cc Step 3 : COPY project.json . ---> Using cache ---> f14d22994204 //IF THIS LINE IS COMMENTED OUT FROM THE DOCKERFILE, STEP 6 BELOW LOCKS UP Step 4 : RUN dotnet restore ---> Running in b23cfaeb638a Step 4 : EXPOSE RANDOM_PORT_NUMBER ---> Using cache ---> 019346309919 Step 5 : COPY . . ---> Using cache ---> 4b28eb273159 Step 6 : RUN dotnet publish -c Release ---> Running in eb5e2de4b744 

从我读过的内容来看,这可能是一个错误,在1.12版本中解决(不知道是否属实),但是我select了Synology,所以不能轻易升级到最新版本。 或者,CLI改变什么意思,为什么我必须重新编译?