Docker和VS Mac

时间:2018-10-02 23:30:54

标签: docker visual-studio-mac

按照Docker页面上的说明,我创建了一个非常简单的Dockerfile,如下所示:

 FROM microsoft/dotnet:sdk AS build-env
 WORKDIR /app

 # Copy csproj and restore as distinct layers
 COPY *.csproj ./
 RUN dotnet restore

 # Copy everything else and build
 COPY . ./
 RUN dotnet publish -c Release -o out

 # Build runtime image
 FROM microsoft/dotnet:aspnetcore-runtime
 WORKDIR /app
 COPY --from=build-env /app/out .
 ENTRYPOINT ["dotnet", "dockertest.dll"]

这实际上是Docker site上的示例副本,只是更改了应用程序名称。

我使用Visual Studio for Mac创建了一个非常简单的ASP.Net应用程序(实际上只是添加了一个很小的HTML文件的默认应用程序)。

我第一次运行docker build -t dockertest .时,与dotnet publish的行失败了。然后,我手动运行了dotnet publish并通过了它。

现在复制失败:

步骤9/10:复制--from = build-env / app / out。

 COPY failed: stat /var/lib/docker/overlay2/1484306cebf1def83638270757e70a8cf874fb5a167f39e5bfaae92a47cc071c/merged/app/out: no such file or directory

这是怎么回事?

1 个答案:

答案 0 :(得分:0)

那么您是在容器内还是在主机上运行dotnet publish? Docker文件正在尝试在容器内运行这些命令,因此在主机上运行这些命令将无法解决问题。

您是否尝试过右键单击项目,然后在VS for Mac中将“添加Docker支持”添加到您的应用程序中?它会生成一个docker文件,然后您可以从VS中在容器内运行/调试应用。