软件行业流行这样一个说法,由于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. uniapp上传图片转base64码案例

    uni.chooseImage({ count: 9, success: res => { this.imageList = this.imageList.concat(res.tempFile ...

  2. service与systemctl命令比较

    本文将比较 linux 的 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较. 从 CentOS 7.x 开始,CentOS 开始使用 systemd 服 ...

  3. [题解]Mail.Ru Cup 2018 Round 1 - A. Elevator or Stairs?

    [题目] A. Elevator or Stairs? [描述] Masha要从第x层楼去第y层楼找Egor,可以选择爬楼梯或者坐直升电梯.已知爬楼梯每层需要时间t1:坐直升电梯每层需要时间t2,直升 ...

  4. 从数据分析系统总架构理解BI工具的价值所在

    ​现如今,应用商业智能BI工具的企业是越来越多了,由此也可见企业对数据分析的重视.因此,掌握一定的数据分析知识对"打工人"来说是非常重要的.现在小编就来跟大家一起来了解一下商业智能 ...

  5. 巧用 CSS 实现炫彩三角边框动画

    最近有个小伙伴问我,在某个网站看到一个使用 SVG 实现的炫彩三角边框动画,问能否使用 CSS 实现: 很有意思的一个动画效果,立马让我想起了我在 CSS 奇思妙想边框动画 一文中介绍的边框动画,非常 ...

  6. 在 Linux 下确认 NTP 是否同步的方法

    NTP 意即网络时间协议Network Time Protocol,它通过网络同步计算机系统之间的时钟.NTP 服务器可以使组织中的所有服务器保持同步,以准确时间执行基于时间的作业.NTP 客户端会将 ...

  7. 【C#反射】动态创建类型实例

    转载自:https://www.cnblogs.com/dytes/archive/2012/06/29/2569488.html .NET中除了构造函数外,还有多种方式可以创建类型的实例.下面总结了 ...

  8. Python:Dict

    0.运算符 in:检查字典中是否有某个key 'a' in {'a':1,'b':2} True 提取其中Key对应的Value: d={'1':'A','2':'B','3':'C'} d['2'] ...

  9. docker入门-常用命令和网络

    一.常用命令 容器生命周期管理 run     运行一个容器 start/stop/restart  启动/停止/重启 kill   杀死一个容器 rm  删除一个容器 pause/unpause c ...

  10. VUE3 之 多个元素之间的过渡 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:过去不等于未来,过去成功了不代表将来也会成功,过去失败了也不代表将来也会失败. 言归正传,今天我们聊聊多个元素之间的过渡. 2. 多个元素之间的过渡 2.1 两个元素交替显示 ...