当你想要使用docker部署.net core项目时候,你应该考虑这些问题
1.docker怎么部署
2.怎么快速部署
3.怎么自动化部署
4.怎么检查日志
5.如果代码使用git或者svn怎么更新代码就可以完成部署
6.定时运行控制台程序项目


一.docker怎么部署

1.将项目拷贝到服务器中 类似地址是:/var/www/spiderweb/CSHouseWeb

2.docker下载dotnet环境镜像:

docker pull microsoft/dotnet:2.1-aspnetcore-runtime
docker pull microsoft/dotnet:2.1-sdk

本人使用的是net core 2.1

然后在项目目录创建Dockerfile(自行百度是什么,其实就是快捷构建的配置文件),这个自己写,或者在创建web项目的时候勾选docker支持。

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY /CSHouseWeb.csproj /
RUN dotnet restore /CSHouseWeb.csproj
COPY . .
WORKDIR /src/
RUN dotnet build CSHouseWeb.csproj -c Release -o /app

FROM build AS publish
RUN dotnet publish CSHouseWeb.csproj -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "CSHouseWeb.dll"]


这里写图片描述

3.docker构建项目

docker build  /var/www/spiderweb/CSHouseWeb -t csweb_net

这里写图片描述
4、启动项目,映射端口

docker run --name csweb  -d -p 2100:5000  csweb_net

二.怎么快速部署

上面是编译后在发布,一般情况我们只是发布html,css,js,或者是直接把代码拷贝到项目中,就不考虑编译了
我们就可以使用下面Dockerfile
怎么发布呢?
1.右击发布 2.iis.ftp 3.文件系统 4.创建下面的Dockerfile 5.把目录拷贝到服务器上

FROM microsoft/dotnet
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "CSHouseWeb.dll"]

6.执行

docker build  /var/www/spiderweb/CSHouseWeb -t csweb_net
docker run --name csweb_net  -d -p 2102:80  csweb_net

三.自动化部署、定时启动、svn、git代码提交部署都可以使用jenkins了
具体方法之后参考使用jenkins自动化部署docke镜像node项目
写下脚本

 docker kill csweb_net
 docker rm csweb_net
 docker image rm csweb_net
docker build  /var/www/spiderweb/CSHouseWeb -t csweb_net
docker run --name csweb_net  -d -p 2102:80  csweb_net
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐