6项目在Windows下构建Docker镜像并本地导出分发到CentOS系统下
Docker Desktop是适用于Mac、Linux或Windows环境的一键安装应用程序,使您能够构建和共享容器化应用程序和微服务。
它提供了一个简单的GUI(图形用户界面),允许您直接从机器管理容器、应用程序和图像。Docker Deskto球速体育官方网站p既可以单独使用,也可以作为CLI的补充工具。
Docker Desktop减少了在复杂设置上花费的时间,因此您可以专注于编写代码。它负责端口映射、文件系统问题和其他默认设置,并定期更新错误修复和安全更新。
Docker Desktop可与您选择的开发工具和语言配合使用,并使您能够访问Docker Hub中的大量认证图像和模板库。这使开发团队能够扩展他们的环境,以便使用安全的存储库快速自动构建、持续集成和协作。
Dockerfile是用来构建docker镜像的构建文件,它其实就像一个脚本文件,里面可以执行一些命令,通过它就可以指定或下载构建的镜像所需要的一些组件,然后打包成镜像文件。
下面是本教程使用的Dockerfile脚本文件内容,指定了使用asp.net6.0的运行时环境,并且在镜像系统的5000端口上提供http服务。同时更新sources.list使用国内镜像源,这里没有用阿里的镜像源,因为测试过程中阿里的镜像源在apt-get install -y libgdiplus的时候会提示找不到这个组件(坑)。因为使用的有基于System.Drawing绘制的验证码图片,所以需要在构建的时候把libgdiplus组件引用到镜像文件中,最后把镜像系统中的时区改成亚洲的时区。
同时可以添加.dockerignore文件来排除一些不需要打包到镜像里的文件,比如忽略到bin或者obj目录里的文件。
最后,千万不要忘记把复制到发布的目录中,要不然访问的时候会没有样式。以上Dockerfile中的有些脚本命令可合并成一行。
如一切正常,按上图的进度执行完成后,就可以在Docker Desktop中看到打包的镜像文件。
我们点击镜像的运行按钮,填写好镜像名称,绑定端口(本机通过此端口用浏览器可以访问到容器内的服务),绑定的本地文件夹(可选)和其它参数(可选)后点击RUN按钮,如果没有端口冲突和名称冲突,就会得到一个运行成功的容器。
现在我们已经得到了一个基于Docker Desktop在Windows系统上构建的镜像文件,在使用中,我们需要把这个镜像运行在Linux系统中(比如CentOS),所以需要把镜像导出来进行分发(这里使用的是本地导出,不是导出到云镜像服务器)。
导入成功后,再查看Docker中的镜像,就会看到我们刚导入的镜像文件了。
随后我们执行运行镜像的命令,把CentOS系统的8080端口和容器的5000端口做映射。
运行成功后会返回一个类似GUID的容器编号,然后我们可以查看一下当前运行的容器。
最后我们本机打开浏览器访问CentOS系统的IP并带上8080端口,就可看到我们从Windows上打包的Docker镜像已经成功运行在了CentOS系统的Docker环境下了。
栏 目:ASP.NET
本文标题:6项目在Windows下构建Docker镜像并本地导出分发到CentOS系统下
本文地址:http://aihaoedu.com/wangluobiancheng/850.html
您可能感兴趣的文章
- 10-26ASP NET中使用AJAX的教程
- 10-26ASPNET 40从入门到精通教程
- 10-26ASPNET程序设计教程(第讲)ppt
- 10-26ASP NET 40 基础教程(C)第一章 ASP NET 40开发基础
- 10-26ASPNET程序设计教程-ASPNET初步ppt
- 10-24asp网站空间
- 10-24微软OpenAI API终止!
- 10-24ASP NET 40 基础教程(C)第八章 ADO NET 数据库编程
- 10-24一款软件开发框架—NET——APP开发直播软件体育APP
- 10-23微软 Build 2021 汇总:普通人也能编程的 GPT-3、Windows 十年重磅更新
阅读排行
推荐教程
- 09-04AMD 5800X3D平台遭殃!微软Win11系统再现大Bug
- 06-26永不过时的时装界高级色系 - 经典黑白灰
- 08-06工作中必备的12个Git命令
- 10-21微软全新 Surface Laptop 第 7 版 Pro 第 11 版上手
- 09-04什么是ASP?
- 09-02教程 - 自强学堂
- 09-28颜值与性能并存!Surface Laptop笔记本评测
- 08-267 后端框架:一句话启动
- 09-07aspnet基础教程2963241950
- 08-06杀疯了!微软:比NET7超级快更快!