概述
什么是富容器开发环境?
众所周知,容器具有环境一致性和可移植性的优势,我们可以利用容器技术,打造自己专属的开发容器,将平时的开发环境依赖 都写到 Dockerfile
中,最终编译出专属的开发容器镜像。通常开发环境依赖很多,我本人的开发容器镜像编译出来有 30G 左右,这种用于开发,依赖众多的富容器我们就叫它富容器开发环境。
容器部署方式
在远程开发机上通过 k3s 部署精简版的 k8s,然后通过 Daemonset 方式声明式部署 devcontainer,网络使用 HostNetwork,无需容器网络,容器内 SSH 监听 22 以外的端口,避免与开发机自身的 SSH 端口冲突。
富容器的日常开发方式
在富容器中会启动 SSH,我们的电脑、平板、手机等设备可通过 SSH 登录富容器来进行日常开发:
容器内包含日常开发所用到的工具,我本人以前用过很多 IDE 和编辑器,现在使用 Neovim 编辑器作为主力工具,而 Neovim 无需 GUI 界面,通过终端就可以用,所以平时工作大部分操作都在富容器中进行,算力和存储都 offload 到远程的富容器了,不怎么占用本机资源,可以实现多设备轻办公,即使使用低配的平板电脑也能轻松进行超大工程的开发,可随时随地办公。