gpt4 book ai didi

c# - Docker如何部署dotnet nginx? (不带.csproj)

转载 作者:行者123 更新时间:2023-12-02 21:03:58 25 4
gpt4 key购买 nike

您好,我想在docker中部署:.net,kestrel和nginx。
我有一个不带.csproj的项目程序集(可能或需要.csproj吗?)
但是,当我尝试在Docker中部署.net项目时,我的状态为Exitet。

Docker文件

从mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env

WORKDIR / app

复制。 。

从mcr.microsoft.com/dotnet/core/aspnet:2.2

WORKDIR / app

复制。 。

展览80

ENTRYPOINT [“bash”]

CMD [“build1”,“WebApplication4.dll”]

我的项目文件

appsettings.Development.json

appsettings.json

Docker文件

Web应用程序4

WebApplication4.deps.json

WebApplication4.dll

WebApplication4.pdb

WebApplication4.runtimeconfig.json

WebApplication4.Views.dll

WebApplication4.Views.pdb

web.config

wwwroot

docker ps-全部

容器ID图像命令创建的状态端口名称

0f1880a89999 build1“bash build1 WebAppl…” 4秒前退出(127)3秒前sleepy_bardeen

如果您有兴趣怎么解决。回答。

从mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS最终版

WORKDIR / app

展览80

复制。 。

ENTRYPOINT [“dotnet”,“WebApplication4.dll”]

马上。我试图找到决定如何添加nginx和kestrel的决定?

最佳答案

微软建议使用NGINX作为.NET Core应用程序的反向代理。您需要构建镜像并在dockerfile中安装NGINX。

例如:

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS final

# Nginx
RUN apt update && \
apt install -y --no-install-recommends nginx && \
rm -rf /var/lib/apt/lists/* && \
apt clean && \
rm /etc/nginx/nginx.conf
COPY MyProject/docker/nginx.conf /etc/nginx/nginx.conf

WORKDIR /app
ENV ASPNETCORE_URLS http://+:4000
EXPOSE 4000 80

如您所见,我正在dockerfile中安装NGINX并公开 400080端口号。在 nginx.conf文件中,NGINX侦听 80端口,并将请求传递给 4000,这是我的.NET Core应用程序侦听的端口。

您可以在本文中找到更多信息: https://piotrgankiewicz.com/2017/06/12/asp-net-core-deployment-using-docker-nginx-and-ubuntu-server/

关于c# - Docker如何部署dotnet nginx? (不带.csproj),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59249912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com