前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >打造超级富容器开发环境(一):概述

打造超级富容器开发环境(一):概述

原创
作者头像
imroc
发布2024-06-06 09:45:07
970
发布2024-06-06 09:45:07
举报

什么是富容器开发环境?

众所周知,容器具有环境一致性和可移植性的优势,我们可以利用容器技术,打造自己专属的开发容器,将平时的开发环境依赖都写到 Dockerfile 中,最终编译出专属的开发容器镜像。通常开发环境依赖很多,我本人的开发容器镜像编译出来有 30G 左右,这种用于开发,依赖众多的富容器我们就叫它富容器开发环境。

容器部署方式

在远程开发机上通过 k3s 部署精简版的 k8s,然后通过 Daemonset 方式声明式部署 devcontainer,网络使用 HostNetwork,无需容器网络,容器内 SSH 监听 22 以外的端口,避免与开发机自身的 SSH 端口冲突。

富容器的日常开发方式

在富容器中会启动 SSH,我们的电脑、平板、手机等设备可通过 SSH 登录富容器来进行日常开发:

容器内包含日常开发所用到的工具,我本人以前用过很多 IDE 和编辑器,现在使用 Neovim 编辑器作为主力工具,而 Neovim 无需 GUI 界面,通过终端就可以用,所以平时工作大部分操作都在富容器中进行,算力和存储都 offload 到远程的富容器了,不怎么占用本机资源,可以实现多设备轻办公,即使使用低配的平板电脑也能轻松进行超大工程的开发,可随时随地办公。

Zellij + Neovim 工作流

既然是富容器远程开发环境,我们就需要让终端持久化来“保存现场”,形成我们专属的工作空间,每次登录进去都可以继续上次的工作,不需要每次都要重新打开很多终端。以前我是通过 tmux 来实现的,后来切换到了 zellij,后者是 Rust 写的后起之秀,比 tmux 更强大,更现代化。

日常开发使用 Neovim 编辑器,基于 LazyVim 高度 DIY 定制自己的配置,甚至自己写插件实现日常所需要的需求,几乎完全替代了以前使用的 JetBrains 全家桶 IDE 和 VSCode。

对于本地的终端软件,这个就无所谓了,只需要用到最基础的功能,macOS 可以用 iTerm2,如果是用于轻办公的移动设备,可以用 Termius

下面的 GIF 展示了一些基础的使用效果:

sdd 是我SSH登录开发富容器的 alias。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是富容器开发环境?
  • 容器部署方式
  • 富容器的日常开发方式
  • Zellij + Neovim 工作流
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档