docker - 在Windows Server 2016 Docker容器上托管.net核心api,在调用docker start时,状态为Exited(2147516566)而不是UP

标签 docker .net-core dockerfile windows-server-2016

我想使用Windows docker容器在Windows Server 2016上运行.net核心API的多个实例。我能够成功创建镜像和容器,但是在调用docker start时容器未运行起来,而是代码退出(2147516566)。

这是我发布的API目录中的docker文件内容

FROM mcr.microsoft.com/dotnet/core/runtime:2.2-nanoserver-sac2016
COPY / app/
ENTRYPOINT ["dotnet", "app/MyAPI.dll"]

最佳答案

我花了很长时间,但我没有自己运行自己的二进制程序带来的好运。用于Visual Studio的docker add in始终在容器内执行构建。我已经适应了这一点。这是我匿名化的示例Dockerfile。希望我没有破坏任何东西:

# Base image for running final product
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-sac2016 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

# build asp.net application
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-sac2016 AS build
WORKDIR /src
COPY ["Test.Docker.Windows/Test.Docker.Windows.csproj", "Test.Docker.Windows/"]
RUN dotnet restore "Test.Docker.Windows/Test.Docker.Windows.csproj"
COPY . .
WORKDIR "/src/Test.Docker.Windows"
RUN dotnet build "Test.Docker.Windows.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "Test.Docker.Windows.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .

# startup.bat contains dotnet test.Docker.Windows.dll
CMD ./startup.bat

关于docker - 在Windows Server 2016 Docker容器上托管.net核心api,在调用docker start时,状态为Exited(2147516566)而不是UP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56028189/

相关文章:

c# - 在 csproj 中,我可以有条件地包含基于运行时标识符的文件吗?

java - 如何在 IntelliJ IDEA 2018.2 中调试在 Docker 容器中运行的 Java 应用程序?

docker - 如何在Windows docker上的jenkins中预安装插件?

list - docker restart 容器失败 : "already in use", 但没有更多的 docker 镜像

docker - nginx 反向代理背后的 Nexus docker 存储库

docker - 控制台生产者错误连接到节点 kafka1 :9092 (org. apache.kafka.clients.NetworkClient) java.net.UnknownHostException

c# - 如何在 dot net 的融合 kafka 中使消费方法成为非阻塞

c# - 将中间件附加到 ASP.NET Core Web API 中的特定路由?

docker - Dockerfile:COPY不起作用(即使他可以找到该文件)

windows - 我在Windows上使用vagrant + docker时出现文件系统问题