千家信息网

如何部署.Net6项目到docker

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"如何部署.Net6项目到docker",在日常操作中,相信很多人在如何部署.Net6项目到docker问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如
千家信息网最后更新 2026年11月03日如何部署.Net6项目到docker

这篇文章主要介绍"如何部署.Net6项目到docker",在日常操作中,相信很多人在如何部署.Net6项目到docker问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何部署.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
【6】安装.net6镜像
docker pull mcr.microsoft.com/dotnet/aspnet:6.0
【7】进入到centos服务器的 /wwwroot/myproject 目录,构建一个镜像,镜像名格式为【镜像名:版本号】,比如:dotnet6-demo:0.0.1

构建镜像命令:

cd /wwwroot/myprojectdocker build -t dotnet6-demo:0.0.1 .

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

上面这条命令是用默认配置文件名 Dockerfile 构建的镜像,如果用自定义配置文件名构建镜像,需要加 -f 参数。

docker build -f Dockerfile02 -t dotnet6-demo:0.0.1 .
【8】创建自定义网络

默认网络docker0,它不能用域名访问,所以要创建自定义网络。

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

参数说明:

  • --driver bridge #表示桥接模式

  • --subnet 192.168.0.0/16 #16表示最多支持65535个ip,可以分配192.168.0.2到192.168.255.255,如果没有指定--subnet参数默认网段为172.17.0.0/16,默认网关为172.17.0.1;

  • --subnet 192.168.0.0/24 #24表示最多支持254个ip,可以分配192.168..0.2到192.168.0.255

  • --gateway #表示docker容器的网关

mynet表示网络名

在docker 中直接 run 创建容器时不加自定义的网络,默认使用网络名为bridge的网络,这是docker0网络,容器之间无法使用容器名相互ping通,只能通过ip相互ping通。

我们自己定义的网络,容器之间是可以直接通过容器名相互ping通的。

查看mynet网络的详细信息:

docker network inspect mynet
【9】创建并运行容器

创建容器格式:

docker run -d --name 容器名 -p 外部端口号:docker容器端口号 --restart=always -v /宿主机目录 : /容器目录 镜像名

使用默认网络 docker0 创建容器(生产环境不推荐):

docker run -d --name my-dotnet6-demo01 -p 8001:80 --restart=always -v /www-appdata/dotnet6-demo/logs:/logs -v /www-appdata/dotnet6-demo/upload:/upload dotnet6-demo:0.0.1

使用自定义网络创建容器(多了个 --net 参数):

docker run -d --name my-dotnet6-demo01 -p 8001:80 --restart=always -v /www-appdata/dotnet6-demo/logs:/logs -v /www-appdata/dotnet6-demo/upload:/upload --net mynet dotnet6-demo:0.0.1

参数说明:

  • -d #后台运行

  • -p 8001:80 #缩主机端口号:docker端口号

  • -v #数据卷路径,格式:(-v /宿主机目录:容器目录)或者(-v /容器目录),可以带多个 -v 参数。

  • --restart=always #dokcer重新启动时也将容器自动启动

  • --net mynet #指定网络名

查看正在运行的容器:

docker ps

查看所有容器:

docker ps -a
【10】访问容器

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

http://192.168.1.200:8002

进入到容器

【11】进入到容器
docker exec -it my-dotnet6-demo01 /bin/bash

容器设置

给已有容器设置开机自动启动

docker update --restart=always 容器名字

取消容器开机自动启动

docker update --restart=no 容器名字

到此,关于"如何部署.Net6项目到docker"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

容器 网络 镜像 项目 文件 目录 参数 口号 学习 宿主 宿主机 拷贝 格式 运行 之间 名字 命令 数据 文件名 文件夹 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 宜安科技 互联网金融 四川狮子座互联网科技 互联网科技股有哪些 广西拼得多互联网科技有限公司 银川新华互联网科技学校地址 承德科技产业互联网发展 浙江互联网科技研学营 知域互联网科技有限公司大骗子 互联网新科技动漫ppt素材 内蒙古九一互联网科技 科技互联网海报 山东子淼互联网科技有限公司 小米互联网科技园入驻 广州有谷有贝互联网科技有限公司 互联网科技机房 玉溪新华互联网科技怎么选 陕西彩京云互联网科技有限公司 广东猫王互联网科技有限公司电话 东风日产互联网科技公司叫什么 株洲百竞科技的互联网营销顾问 互联网与科技 互联网和科技创新 鸠鸠互联网科技 亿策互联网科技 互联网公司会议桌创意科技软装饰 互联网科技如何创业 互联网金融科技元年 抖集互联网科技技术咨询 萌小萌互联网科技河南有限公司 伍佰万互联网科技是干嘛的
0