我正在尝试发布一个包含我的.NET Core应用程序代码的docker容器。我能够在本地构建容器并运行一切没有问题。我可以登录到容器,看看我的所有代码都存在于/ app目录中。
我想将此容器推送到注册表,然后我执行docker commit
和docker push
这些更改,所有这些似乎都有效。但是,当我下拉图像时,/ app目录为空,因此应用程序无法正常工作。
任何人都知道为什么这不起作用以及我应该做什么?
使用代码将容器映像放入注册表是否是更好的方法?
这里的参考是DockerFile:
FROM microsoft/dotnet:2.0-runtime AS base
WORKDIR /app
FROM microsoft/dotnet:2.0-sdk AS build
WORKDIR /src
COPY *.sln ./
COPY MyApplication/MyApplication.csproj MyApplication/
RUN dotnet restore
COPY . .
WORKDIR /src/MyApplication
RUN dotnet build -c Release -o /app
FROM build AS publish
RUN dotnet publish -c Release -o /app
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "MyApplication.dll"]