ASP .NET CORE WEB 部署到Docker

一、新建asp.net core web 网站,使用docker支持,自动生成dockerfile文件

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /app

WORKDIR /src
COPY . .
RUN dotnet restore
RUN dotnet publish -c Release -o publish

FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app
COPY --from=build /src/publish ./
ENTRYPOINT ["dotnet", "WebApplication6.dll"]

  

第一条 FROM 指令是拉取一个基础镜像,这里可以使用微软提供的官方镜像。据说还有一个体积更小的。这条命令必须放在第一行。
然后是 EXPOSE 指令,这是告诉Docker 容器对外暴露的端口。

EXPOSE指令是声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务。

再然后是 RUN 指令,这里可以执行你想要执行的命令,比如安装某个依赖库。(我这里安装的是 libgdiplus,是图形处理方面的。
直到 COPY 指令前都是在指定地方创建一个目录,COPY . . 是将当前所有文件复制到你创建的工作目录中。

最后就是 ENTRYPOINT 指令 就是告诉程序的入口点是哪个。这里的 

WebApplication6.dll

就是你程序发布后生成的dll文件。

二、服务器新建文件夹,保存项目,dockerfile放在所有项目外面

 

 

三、构建image镜像,最后有个点 

docker build -t n1 -f Dockerfile .

查询镜像 docker images

四、启动容器运行镜像

docker run -itd -p 80:80   n1

 

 查询容器docker ps

五、构建image并且运行

  http://121.40.16.122/weatherforecast  网址输入,输入swagger出不来,需要具体地址

 

 

 

posted on 2022-10-05 16:34  topguntopgun  阅读(123)  评论(0编辑  收藏  举报

导航