【云原生】云原生技术学习笔记(二)容器
上一节提到了革命性的容器技术,下面就记录下容器相关的笔记,如果想看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下如何修改环境变量”。