【云原生】云原生技术学习笔记(二)容器
上一节提到了革命性的容器技术,下面就记录下容器相关的笔记,如果想看docker更多相关的命令及操作,请参考【One by one系列】一步步学习docker。
专注于IT互联网,Web技术,Go语言(golang)、.Net,.Net Core,Node.js,前端框架、项目管理、软件架构
只有原创,没有转载,只有实践,才会成文。
上一节提到了革命性的容器技术,下面就记录下容器相关的笔记,如果想看docker更多相关的命令及操作,请参考【One by one系列】一步步学习docker。
Docker项目的发布使得全操作系统语义的沙盒技术唾手可得,使得用户能够更好地、更完整地打包自己的应用,使得开发者可以轻而易举的获得了一个应用的最小可运行单位,虽然Docker或者容器本身的价值很大,但是如果想要让其产生商业价值或者说对云的价值,因为毕竟容器的数量上去了以后,管理就不是一件容易的事,所以就一定需要一个工具去管理这么多容器。
云原生技术学习之前的本意是由于工作需要,需要学习 Kubernetes 的使用;之前大概知道 Kubernetes 是可以编排管理容器,像 Docker Compose 那样可以去启动管理多容器的应用, 但是** Docker Compose 是在单个服务器或主机上创建多个容器的工具 , 可能真正要跟K8S打擂台的是 Docker Swarm 吧,可以在多个服务器或主机上创建容器集群服务**,很遗憾,最终以 Docker 公司宣布在核心产品中内置了 Kubernetes 服务,宣布了 Kubernetes 的胜出。了解到这一层背景,以及前辈的指引,秉承着知其然知其所以然的态度,偶然间闯进了阿里云原生技术公开课的学习。带着问题有目的的学习,往往会更有学习动力。那么萦绕在脑海的第一个问题就是: 什么是云原生?
公司的代码私有仓库都在内网,天天把本本抱回家还是比较麻烦的,要想在家就能拉取代码,就必须使用VPN,其实之前博主从来没用过VPN,大概搜索一下相关资料,总得来说:vpn就是利用公用网络架构专用网络的远程访问技术。更多VPN技术揭秘,可能需要更专业童鞋来解答。博主出现的问题是,vpn小电视已经连接成功,但是依然无法拉取代码,这是为什么呢?
javascript在数字比较大情况下,使用JSON.stringify()与JSON.parse()将JSON序列化为字符串与反序列化js可理解的数据结构时,会出现数据失真问题。
利用air实现Go程序的实时热更新,在键入air命令后,无意之间按下了ctrl+Z,发现程序好像从终端退出了,但是air的临时文件tmp没有被删除,通过活动监视器也发现进程仍然存活,这是为什么呢?
Visual Studio Code在Mac上的表现优于windows太多了。智能提示与保存自动格式化也灵敏多了。本篇记录一下常用且实用的快捷键,以提高开发效率。
在mac中安装软件,有多种方法:
Homebrew安装
dmg安装包直接one by one安装
本篇看下跟开发相关的软件、工具,在安装成功后的具体路径,备注一下:
使用vscode进行调试go语言程序时,出现protocol error e09 during set breakpoint for packet,曾经一度让博主猜测自己代码问题,排除代码问题之后,又猜测:难道mac上非得goland来进行调试,vscode不够格,当然最终得着重说一下,vscode在mac下表现明显优于在windows下的表现,windows下的vscode经常出现卡顿,智能提示不及时等问题,这些诸多问题在卸载原有插件,安装Go Nightly之后得到改善,很神奇。
CentOs下有yum,Ubuntu下有apt,windows下有chocolatey,除此之外微软在 Build 2021 开发者大会上宣布,Windows 软件包管理器 winget 1.0 版本正式发布,当然博主还未使用。不过由于公司开发使用的是MacOS,所以本篇就介绍Mac下的包管理器——Homebrew。
在Mac的使用中过程中,有许多需要增加环境变量的情况。比如配置go的私有仓库GOPRIVATE,以及校验服务器GOSUMDB。按照习惯我们都会搜索一下 “mac下如何修改环境变量”。