软件行业流行这样一个说法,由于Docker 技术的成熟和该技术被广大厂商的普遍应用,成就了微服务领域的快速成长,衍生了云原生技术和公有云的进一步推广。我个人认为Dockers 技术、微服务技术、云原生技术乃至领域模型概念其实是彼此相互相吸,互相依赖,组成了当今软件行业的一个新的生态链。作为软件行业从业者,虽然不能精通每一项新兴技术,但是我们要对主流技术应保持一颗积极探索的心。

  本章节开始对Dockers领域的技术探索之路开始总结,之前身处项目,没有太多精力对它进行全面总结,但是,软件开发人员对技术的研究和总结是应该保持的良好习惯。

  

  闲话少说,开始Docker 探索的的一个步骤,Docker 环境的搭建。首先我们需要在本地开发环境安装Docker 的运行环境,我的开发环境是Windows 10 ,开发工具使用的是VS2022。

  第一步安装 Docker Desktop for Windows, 可以从官网(https://www.docker.com/get-started)直接下载,Windows10 需要最新的企业版本或专业版本,安装的过程中需要安装WSL2(它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件)。安装过程基本比较简单,都是One By One. 此处就省略了,特别强调一点,第一次启动的时候特别慢,不要担心,是Docker Desktop 进行更新和检查所需组件,并进行相关的自动配置。

  

  安装完毕后,启动界面如上图,就可以在本地进行开心的玩耍Docker了。本篇文章不再对docker 的专业名词进行解释,可以自行进行度娘。如果你有Linux环境,最后使用Linux环境进行搭建,安装过程也是非常简单,此处不再描述了。Docker Desktop 工具有一个可视化的界面,左侧菜单分别为容器、镜像、卷标三大常规操作提供界面,适合初学者,但,不建议开发人员使用该界面,而是建议大家使用Powershell进行操作。由于安装了WSL2 和Docker 环境,Powershell 里面就可以使用Bush风格的命令了,其实就是Bush操作命令。在Powershell 运行 docker run -d -p 80:80 docker/getting-started 命令就可以下载并允许了你的第一个Docker 容器了。

  

  开发环境正常运行起来了,我们后续就可以将自己的代码打包成Docker镜像,发布到本地的环境,我们也可以将开发好的镜像发布到DockerHub 上面或者Azure 上面的企业自己的容器注册表,可参考文档:https://docs.microsoft.com/zh-cn/azure/container-registry。

  

  Docker Desktop 工具是对个人和小型企业免费的,我们也可以使用Docker Desktop 进行K8s 环境在本地搭建,后续文章我对K8s 的搭建和配置进行详细描述,本章节只先粗略的对本地dockers开发环境搭建进行了描述,希望能够帮助你dockers开心研究之旅。

  

企业应用架构研究系列十九:Docker开发环境的更多相关文章

  1. 企业应用架构研究系列二十八:身份认证 Beginning Out With IdentityServer4

    在.Netcore 技术栈中,一直在使用了开源组件IdentityService4进行身份管理,其功能的强大和易用性的确很受开发者喜欢,但是最近其开源组织Duende Software 开始对其进行商 ...

  2. 企业应用架构研究系列二十六:信号量SemaphoreSlim与Semaphore

    在进行多线程程序的开发和设计的过程中,不可避免的需要引入semaphore信号量这个组件,这是.net框架提供的一个对多线程计数互斥的方案,就是允许指定的线程个数访问特定的资源而增加的 一个" ...

  3. 企业应用架构研究系列二:MSF&Scrum 项目管理

    从业软件项目这么多年,在企业应用开发项目中,项目能否成功,是否能按照项目计划有效的推进,是有很强的一套项目管理理论.最早的时候,接触的项目管理的方法论就是微软的MSF(Microsoft Soluti ...

  4. 企业应用架构研究系列二十七:Vue3.0 之环境的搭建与Vue Antd Admin探索

    开发前端需要准备一些开发工具,这些工具怎么安装就不详细描写了,度娘一些很多很多.主要把核心的开发工具列表一些,这些资源也是非常容易找到和安装的. Node 安装:https://nodejs.org/ ...

  5. Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十九】

    <Web 前端开发精华文章推荐>2013年第七期(总第十九期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和 C ...

  6. Android进阶(十九)AndroidAPP开发问题汇总(三)

    Android进阶(十九)AndroidAPP开发问题汇总(三) Java解析XML的几种方式: http://inotgaoshou.iteye.com/blog/1012188 从线程返回数据的两 ...

  7. [eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置

    [eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置 https://github.com/dotnet-architecture/eShopOnContain ...

  8. 学习ASP.NET Core Razor 编程系列十九——分页

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  9. Katalon系列十九:元素相同或无法定位时的定位技巧

    经常看到有人问元素属性都相同,怎么定位,这里总结一下.下面以Xpath为例讲解,CSS其实也是一样的,只是语法不一样罢了.网上说CSS会比Xpath快一些,但在Katalon主用Xpath,感觉也还行 ...

随机推荐

  1. [虚拟化]虚拟机 XML 配置

    虚拟机 XML 配置示例 虚拟机的 XML 配置(也称为 域 XML )决定虚拟机的设置和组件.下表显示了虚拟机(VM)的 XML 配置示例并解释了其内容. 要获取虚拟机的 XML 配置,您可以使用 ...

  2. jmeter之jsonpath和beanshell联合使用

    目的 下面返回的json字符串中,提取args的值中,最后一个逗号后面的字符串,比如下面就是提取:woLgrKts5s9Q4huajoCGHS {"code":20000,&quo ...

  3. Keepalived配置重载(reload)实现方法

    一.前言 Keepalived运行过程中,可能存在更改配置的需求,例如修改virtual_ipaddress,virtual_router_id,priority等参数.在keepalived不重启, ...

  4. 【C#基础概念】编程语言:弱类型、强类型、动态类型、静态类型

    一.看图区别编程语言 一般来讲,看第一个图就够了 这图是引用的,有错误,Python是强类型,但是图片中却归为弱类型了. 业界堆静态和动态的区分达到共识. 但是堆强类型和弱类型语言还未达成共识.我个人 ...

  5. HMS Core挑战赛故事:鞋、街景、手办、玩具,原来这些都可以3D建模

    HMS Core线上Codelabs挑战赛第3期中,开发者通过学习和运用HMS Core开发的3D建模服务,生成3D建模应用demo,再使用demo为自己身边的一个实物完成建模.在提交的作品中,小编发 ...

  6. idea教程--如何申请免费的ideaIDE

    开始申请前请先到 https://www.jetbrains.com/zh/student/ 阅读免费学生授权的介绍和常见问题,再依照下方流程进行申请. (1)到 https://www.jetbra ...

  7. 05-LoadBalancer负载均衡

    1.介绍 目前主流的负载方案分为以下两种: 集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如 F5),也有软件的(比如 Nginx). 客户端根据自己的请求情况做负载 ...

  8. LeetCode-098-验证二叉搜索树

    验证二叉搜索树 题目描述:给定一个二叉树,判断其是否是一个有效的二叉搜索树. 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当前节点的数. 所有左子树和 ...

  9. Kendo UI Grid 使用总结

    Kendo UI Grid控件的功能强大,这里将常用的一些功能总结一下. Kendo UI Grid 固定列 在使用Gird控件显示数据时,如果数据列过多,会出现横向滚动条,很多情况下,我们希望某些列 ...

  10. 【python】kNN基础算法--推荐系统

    虽然把text转成全部量化是可以的,但是还是需要把text转成numpy的形式(这个是必须掌握的) 在将数据输入到分类器之前,必须将待处理数据的格式改变为分类器可以接受的格式. 数据规范化.数据归一化 ...