将.net6项目部署到docker

部署.net6项目到docker

 

【1】新建.net6 mvc或webapi项目;

【2】在mvc或webapi项目的根目录下创建Dockerfile文件,并设置为始终复制;

Dockerfile文件内容为:

#添加.net6基础镜像
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
#容器工作目录
WORKDIR /app

#指定项webapi或mvc站点的内部启动端口,默认是80
#ENV ASPNETCORE_URLS http://+:5001

#暴露docker容器端口
#EXPOSE 8001
#EXPOSE 443

#拷贝发布目录下的所有文件到容器的工作根目录
#COPY . . (这样写也可以)
COPY ./ ./

# 如果用System.SqlClient.dll访问数据库,需要加这一句
RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf

#容器入口点
ENTRYPOINT ["dotnet", "dotnet6Demo.web.dll"]

 

【3】发布mvc或webapi项目;

【4】将发布后的mvc或webapi项目拷贝到centos服务器的某个文件夹,例如拷贝到【/wwwroot/myproject】文件夹;

【5】安装docker

安装方法参考:https://www.cnblogs.com/yyee/p/15642801.html

【6】安装.net6镜像

docker pull mcr.microsoft.com/dotnet/aspnet:6.0

【7】进入到centos服务器的 /wwwroot/myproject 目录,构建一个镜像,镜像名格式为【镜像名:版本号】,比如:dotnet6-demo:0.0.1

构建镜像命令:

docker build -t dotnet6-demo:0.0.1 .

dotnet6-demo 表示构建的镜像名称,:0.0.1表示镜像版本号,注意镜像名后面有个空格 + 英文点号,表示构建当前路径下的文件。

【8】创建并运行容器

docker run -d --name my-dotnet6-demo -p 8002:80 -v /appdata/demo-data dotnet6-demo:0.0.1

创建容器格式:

docker run -d --name  容器名  -p  外部端口号:docker容器端口号  -v  数据卷路径  镜像名

参数说明:

-d    #后台运行

-p    #缩主机端口号:docker端口号

-v    #数据卷路径,格式:(-v  /宿主机路径:容器路径)或者(-v  /容器路径)

【9】访问容器

访问方式:http://宿主机ip:端口号

http://192.168.1.200:8002

进入到容器

 

【10】进入到容器

docker exec -it my-dotnet6-demo /bin/bash

 

上一篇:Excel数字转大写数字(含小数点)


下一篇:.NET Core/.NET5/.NET6 开源项目汇总8:Blazor项目