windows下部署.netcore到docker

  前面我们演示了如何将 Asp.Net Core 程序部署到 iis 和 部署到 windows 服务。其实前面的都是铺垫,如何将 Asp.Net Core

大家好,如果您还对windows下部署.netcore到docker不太了解,没有关系,今天就由本站为大家分享windows下部署.netcore到docker的知识,包括的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

1.一分钟了解Docker

Docker是一个基于Go语言、在Apache2.0协议下开源的开源应用容器引擎。 Docker 允许开发人员将他们的应用程序和依赖项打包到一个轻量级、可移植的容器中,然后将其发布到任何流行的Linux 机器上,这些机器也可以虚拟化。容器完全使用沙箱机制,相互之间没有任何接口(类似于iPhone应用程序)。更重要的是,容器的性能开销极低。

简而言之,容器就是封装应用服务的环境。它是一个轻量级的虚拟机。每个容器由一组特定的应用程序和必要的依赖库组成。

Docker与传统虚拟化最大的区别在于,容器在操作系统层面实现虚拟化,即直接复用本地主机的操作系统;而传统虚拟化是在硬件层面实现的,如VMware vShpere、Xen和Citrix等。

Docker采用客户端-服务器(C/S)架构模型,并使用远程API来管理和创建Docker容器。

Docker 容器是从Docker 镜像创建的。

容器和镜像之间的关系类似于面向对象编程中的对象和类。

Docker的架构如下图所示。 Client通过接口与Server进程通信来构建、运行和发布容器。客户端和服务器可以运行在同一个集群中,也可以跨主机进行远程通信。

具体详情请访问:《几张图帮你理解Docker基本原理及快速入门》

2.安装Docker

Windows 10下安装Docker Desktop for Windows,Windows 10之前版本安装Docker Toolbox。由于我当前的演示环境是Windows 8.1,所以下载Docker Toolbox。

适用于Windows 的Docker Desktop 是免费提供的。

需要Microsoft Windows 10 专业版或企业版64 位。对于以前的版本,请获取Docker Toolbox。

在安装Docker Toolbox之前,必须确保硬件虚拟化已开启。如果在windows 8.1中没有开启,则需要进入BIOS设置来开启虚拟化技术。 Windows 10网上的介绍是进入控制面板\所有控制面板项\程序和功能\打开或关闭Windows功能并勾选Hyper-v,但我没有尝试过。

后续安装过程中保持默认设置,但一定要勾选Setup-Docker Toolbox界面下的Select Another Tasks中的最后一项(Install VirtualBox with NDIS5 driver [default NDIS6])。

安装完成后,桌面上会生成三个快捷方式,分别是:

Docker Quickstart Terminal:提供Docker命令行操作Oracle VM VirtualBox:虚拟机软件。 Kitematic(Alpha):图形化泊坞窗工具。在使用Docker之前,必须先创建一台docker机器。它实际上是一个轻量级的Linux内核虚拟机,但是在使用它的时候,你甚至可能没有注意到它是虚拟的。只需双击打开Docker Quickstart Terminal,它就会自动安装docker machine。前提是你有梯子,否则会卡在安装boot2docker.iso这一步。如果你没有梯子,可以参考这里。

3、部署方案

windows下部署.netcore到docker

3.1 添加Docker支持

打开上一篇文章中的项目并右键单击以添加Docker 支持。

3.2 编辑Dockerfile脚本

删除自动生成的DockerFile脚本,使用以下脚本:

#引入镜像,低版本dockerremoveASbase

#换阿里镜像

#FROMregistry.cn-hengdu.aliyuncs.com/jimlicatpub/aspnet:3.1-buster-slim AS基地

来自mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS 基础

#配置工作目录

工作目录/应用程序

#暴露容器端口。该端口与程序运行路径一致。你可以

曝光80

复制。

#ENV:配置系统环境变量,比如程序环境等都在这里配置(开发、预发布、线上环境)

#这里是配置程序运行端口。如果程序不使用默认的80端口,则必须在这里设置(程序运行端口)

ENVASPNETCORE_URLS http://+:80

#启动程序

ENTRYPOINT [‘dotnet’, ‘Riz.Web.dll’]

还要修改DockerFile 输出属性

windows下部署.netcore到docker

3.3 发布程序

3.4 生成镜像文件

进入发布的目录,shift+右键-在此处打开命令。打开命令行并使用以下命令生成图像。请注意以下.无法删除。

#docker build -t imagename:version 。

#版本号可以省略,表示没有版本号(最后)

#有一个’.’命令后,不能省略。意思是当前目录。 br#riz.web是图片的名称,可以根据自己的需要修改。

docker build -t riz.web 。

完成后可以查看生成的图片。如果这里没有规避,拉取.net core镜像时可能会卡住。解决办法是使用docker-mcr加速镜像,按照其说明手动拉取镜像,然后运行docker build命令就ok了。

3.5 运行镜像

#https://www.runoob.com/docker/docker-run-command.html

#docker run -d -p 2000:80 –name 容器名称imagename:version

#-d表示后台运行

#-p:指定端口映射,格式为:主机(主机)端口:容器端口。例如配置2000:80,将外网的2000端口映射到docker的80端口。

#-name 指定容器的名称

#imagename:version 图像: 版本

#注意:如果你的服务器是阿里巴巴、腾讯、华为云等,配置的端口一定要在安全组配置中开放,比如下面的2000端口,否则无法访问。

docker run -d -p 2000:80 –name riz.web riz.web

如果运行后出现一串ID,则说明运行正常。 80是docker容器的端口,映射到本机的端口号2000。根据园子里的一些介绍文章,容器运行起来就万事大吉了。在浏览器中输入http://localhost:2000/即可看到运行效果。但我能做什么呢?它只是表明localhost 拒绝了我们的连接请求。是不是因为我的环境是win8.1,只有win 10 Hyper-V可以做到?如果哪位朋友在win10下可以直接输入localhost:端口并能运行成功,请留言告诉我,非常感谢。仔细想了想,localhost代表的是本地主机(host主机),所以站点的host应该是docker所在虚拟机的IP。 docker-machine ip默认,看到docker ip是192.168.99.100,在浏览器中输入http://192.168.99.100:2000/,运行效果立马就出来了~~

用户评论

windows下部署.netcore到docker
别伤我i

这篇文章讲解的很透彻!终于搞懂了如何在 Windows 下部署 .NET Core 到 Docker 的流程,之前一直一头雾水,现在可以安心开始项目了!

    有7位网友表示赞同!

windows下部署.netcore到docker
傲世九天

最近学了 Docker,想要尝试下用.NET Core 搭建一个微服务,这篇文档太棒了,解决了好多疑惑,感谢分享啊!不过在步骤6那里遇到一个小问题,不知道各位大佬有没有遇到过,报错说找不到某个文件……

    有5位网友表示赞同!

windows下部署.netcore到docker
那伤。眞美

Windows 下部署 .NET Core 到 Docker确实比较麻烦,很多教程都只针对Linux系统。幸好这篇文章详细讲解了配置和操作步骤,这下终于可以轻松开始使用了!

    有10位网友表示赞同!

windows下部署.netcore到docker
我的黑色迷你裙

docker 我懂的不多,.NET Core 就不是我的强项,这篇文档感觉有点难懂,希望以后能多一些针对初学者使用更通俗易懂的语言讲解。

    有9位网友表示赞同!

windows下部署.netcore到docker
浮世繁华

这个教程对新手来说太过于详细了,我以前就已经很熟悉.NET Core 和 Docker 了,没必要讲那么多基础知识吧?

    有5位网友表示赞同!

windows下部署.netcore到docker
我一个人

.NET Core 确实需要 Docker 来优化运行环境。这篇文档解释得非常明确,步骤也很清晰,强烈推荐给所有想学习 Windows 下 .NET Core 到 Docker 部署的学生和开发者!

    有7位网友表示赞同!

windows下部署.netcore到docker
千城暮雪

终于找到了一个完整的 Windows 环境下 .NET Core 到 Docker 的部署教程!之前总是遇到各种小问题找不到解决方法,现在跟着这个教程一步一步来,感觉非常可靠。谢谢分享!

    有17位网友表示赞同!

windows下部署.netcore到docker
﹏櫻之舞﹏

Windows 下部署.NET Core 到Docker 真的太麻烦了!各种环境配置和工具安装让人头疼,如果能够提供一个更直观、更简洁的操作指南就好了!

    有5位网友表示赞同!

windows下部署.netcore到docker
空谷幽兰

这篇文章还是很有帮助的,因为我遇到了不少和文档中描述问题一模一样的情况,按照文档步骤解决问题后,我的项目终于可以顺利部署到Docker中了!

    有17位网友表示赞同!

windows下部署.netcore到docker
花菲

文章写的不错,但图片质量有点差,有些细节看不清。希望能改进一下图文呈现的清晰度,更加方便读者理解。

    有13位网友表示赞同!

windows下部署.netcore到docker
暮光薄凉

学习了docker和.NET Core之后,我想把他们结合起来搭建一个应用。这篇文档讲解的很详细而且实用的,感谢作者分享!

    有8位网友表示赞同!

windows下部署.netcore到docker
若他只爱我。

.NET Core 的开发速度很快,Docker 作为容器技术可以很好的帮助我优化代码部署效率。这篇文章让我认识到.NET Core 和 Docker组合的力量!真是太棒了!

    有20位网友表示赞同!

windows下部署.netcore到docker
寒山远黛

文档里提到的工具软件有些我不熟悉,希望能够附上更详细的介绍和使用方法,以便新手也能轻松上手。

    有15位网友表示赞同!

windows下部署.netcore到docker
◆乱世梦红颜

用Windows 下 部署 .NET Core 到 Docker 之前我总是感到头疼,这个教程解决了我很大的问题!它清晰地解释了每一个步骤,而且图片很直观,操作起来非常容易。推荐给所有想学习的朋友!

    有9位网友表示赞同!

windows下部署.netcore到docker
残留の笑颜

.NET Core 和 Docker 的结合能够提升开发效率显著,这篇文档对我来说简直是救星!感谢作者对我的帮助!

    有5位网友表示赞同!

windows下部署.netcore到docker
拉扯

在 Windows 环境下部署 .NET Core 到 Docker 似乎是个不小的挑战,这个教程让我更加了解了其中的难点和解决方法。希望未来能学习到更高级的应用场景。

    有17位网友表示赞同!

windows下部署.netcore到docker
柠夏初开

这篇文章的文字风格非常适合我这种初学者阅读,每个步骤都解释得很详细,读完后感觉很有信心可以开始实践了!

    有14位网友表示赞同!

windows下部署.netcore到docker
隔壁阿不都

Windows 下部署 .NET Core 到 Docker 确实需要掌握一些技巧,这篇文档让我了解到.NET Core 的优势以及如何在 Docker 中发挥它的作用。非常感谢作者的讲解!

    有7位网友表示赞同!

windows下部署.netcore到docker
赋流云

这篇文章很实用,但我希望能够看到更多实例和案例,以便更直观地理解整个部署流程。

    有18位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/144228.html

(0)
小su's avatar小su
上一篇 2024年9月19日 上午9:02
下一篇 2024年9月19日 上午9:12

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注