文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何部署.Net6项目到docker

2023-06-22 04:44

关注

这篇文章主要介绍“如何部署.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

参数说明:

mynet表示网络名

如何部署.Net6项目到docker

在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

参数说明:

查看正在运行的容器:

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”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯