# @esuyo/coding-container 中文文档

规范地址：https://npmcn.com/package/%40esuyo/coding-container/

版本：1\.0\.28
npm 元数据更新时间：2026-11-09T17:51:56.788Z
中文译文更新时间：2026-11-14T00:00:53.528Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40esuyo/coding-container
原文对照：https://npmcn.com/package/%40esuyo/coding-container/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：260 kB，49 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：3 个
- 首次发布：2026-09-11T05:59:05.072Z
- 最新版本发布：2026-11-09T17:51:56.574Z
- 近 30 天下载量：2783（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：24（近 12 个月 24 个）

## 中文简介

用于在 k3s 上建造、发布和部署 SSH 可访问编码容器的 CLI

## 安装

```sh
npm install @esuyo/coding-container
```

也可以使用：`pnpm add @esuyo/coding-container`、`yarn add @esuyo/coding-container`、`bun add @esuyo/coding-container`

## README

![coding-container, standardized, isolated coding environments.](https://npmcn.com/package/%40esuyo/coding-container/docs/intro-image.jpg)

# 编码容器

> 准备在您的库伯内特集群上 编码容器,每个项目, 并有工作空间 保持你的工作.

`coding-container` 给每个项目在Kubernetes上的一致编码环境。 你打开应用程序,增加一个项目,按下部署,降落在 `/workspace` 由您的 NAS 支持, 因此工作可以继续重新启动 。 默认图像从Ubuntu,Node.js,以及常见的dev工具开始. Dockerfile是用于修改任何语言或工具链的,可以选择用于数据库和队列的副车.

在浏览器或可安装桌面应用程序中使用. 两者都显示了相同的项目,图像,和工作. 桌面应用程序将相同的页面包裹在窗口中,并带有加密的标志和自动更新. 选一个你喜欢的。 他们保持同步 通过一个共享登记册 在你的机器.

仅供私人,内部库伯内特集群使用. 不公开公众网. 每个工程都会在所有集群节点上打开节点,并带有SSH外加可选的网络和侧车端口,默认情况下为没有auth或TLS的入侵主机服务. 仅在一个可信赖的内部网络上运行,如一个主板,局域网,或者一个防火墙后方的VPN入门集群. 见 [建筑](https://npmcn.com/package/%40esuyo/coding-container/docs/architecture.md#security-notes) 详细情况.

<table><tbody><tr><td colspan="3"><img alt="Dashboard" src="https://npmcn.com/package/%40esuyo/coding-container/assets/coding-containers.png" loading="lazy" decoding="async" referrerpolicy="no-referrer"></td></tr><tr><td><img alt="Browser terminal" src="https://npmcn.com/package/%40esuyo/coding-container/assets/coding-containers-terminal.png" loading="lazy" decoding="async" referrerpolicy="no-referrer"></td><td><img alt="Shared images" src="https://npmcn.com/package/%40esuyo/coding-container/assets/coding-containers-images.png" loading="lazy" decoding="async" referrerpolicy="no-referrer"></td><td><img alt="SSH and keys" src="https://npmcn.com/package/%40esuyo/coding-container/assets/coding-containers-ssh.png" loading="lazy" decoding="async" referrerpolicy="no-referrer"></td></tr></tbody></table>

## 特征

-   部署一个随时可编码集装箱的媒体,完成后拆除
-   Kubernetes 土生土长:部署、服务、入侵、配置图和秘密为你申请
-   在您的 NAS 上持续每个工程工作空间, 因此文件在重新启动中幸存
-   每个工程的SSH别名, 准备用于 VS 代码远程 SSH 和浏览器终端
-   可选浏览器访问 Dev 服务器和侧车,用于数据库和队列
-   每个工程共享团队图像, 或自定义图像, 并配有您自己的 Docker 文件用于任何语言或工具链
-   可选的无根编码容器:作为没有能力的非根用户运行一个项目,而根项目保持当前的行为
-   浏览器页面:有活负荷状态的仪表板、检查的项目编辑器、浏览器终端、图像发布和每项任务的工作日志
-   Windows, macOS, 和 Linux 的桌面应用程序: 安装窗口中的相同页面, 并带有加密标志和自动更新
-   共享项目注册, 因此浏览器和桌面视图保持同步

## 先决条件

-   具有任何相容分布的私人内部Kubernetes集群和 `kubectl` 进入。 不使用公开曝光的集群
-   18号或更新的,多克, `kubectl` 路径
-   `docker login` 输入您的容器登记簿
-   打开SSH 使用 `ssh` 财务报告和审定财务报表 `ssh-keygen`
-   您的NAS 从集群节点可到达
-   用于签名: 您在应用程序首次启动时创建的电子邮件和密码

## 安装

在可以时从桌面应用程序开始 。 这是最简单的道路.

**桌面应用程序 :**

从发布页面上下载一个安装器,并像其它应用程序一样运行. 在第一次发射时签一次字 仪表板从此打开,在OS键链中保留了标志. 见 [桌面](https://npmcn.com/package/%40esuyo/coding-container/docs/desktop.md)。 。 。 .

要从源头构建:

```sh
npm --prefix web/client run build
npm --prefix electron install
npm --prefix electron run dist:win
```

使用 `dist:mac` 关于macOS和 `dist:linux` 在 Linux 上。 见 [桌面](https://npmcn.com/package/%40esuyo/coding-container/docs/desktop.md) 所有目标.

**来源浏览器页面:**

```sh
npm --prefix web/client install
copy .env.example .env
node web/dev.js
```

使用 `cp .env.example .env` 在macOS或Linux上替换 `copy`。然后打开页面,在运行服务器的计算机上创建您的标志.

```sh
npm --prefix web/client run build
node web/server/server.js
```

第一条建设线 `web/client/dist`第二页在一个端口上共同为网页和API服务。 见 [网络图形界面](https://npmcn.com/package/%40esuyo/coding-container/docs/gui.md)。 。 。 .

页面运行在 `:3400` 与 API 一起编辑 `.env` `PORT`默认值 `3401`生产既服务于 `.env` `PORT`。 。 。 .

停止仍然持有 Dev 端口的孤机dev 服务器:

```sh
node web/kill-dev.js
```

## 配置

两个小的 YAML 文件驱动一切: 共享环境配置 `~/.config/coding-container/config.yaml`,和一个项目 `config.yaml` 每个项目的不同之处.

你很少用手编辑这些 打开设置页面来创建共享配置,并打开一个项目来编辑其YAML,并带有检查和显示预览.

```yaml
project: my-project
k8s:
  nodePort: 30022
```

每一次结账都带有自己的身份 `.env` 文件复制自 `.env.example`: 单独的配置文件夹,连接别名前缀,以及孤立的dev和prod实例的命名空间,外加像app端口这样的服务器设置. 此文件不是用于工程变量 。 每个项目都有项目价值 `config.yaml`,以 shell 变量提供秘密,并引用为 `${NAME}`。 。 。 .

见 [配置](https://npmcn.com/package/%40esuyo/coding-container/docs/configuration.md) 用于分层、许多项目、共享登记册和NAS文件夹。 见 [环境变量和秘密](https://npmcn.com/package/%40esuyo/coding-container/docs/env-and-secrets.md) 用于纯值加上秘密处理.

## 快速启动

1.  打开应用程序并在被询问时创建您的标志 。 在新机器上,这是一个创建的账户表格。 只用你自己的机器来.
2.  打开设置页面。 填入容器注册簿,NFS服务器和NFS基础路径. 按下运行设置并跟踪Jobs页面上的工作.
3.  在新的集群上,一次打开系统页面并按下初始化系统,并加一个起始标记,例如 `v1.0.0`。然后打开图像页面并按新版本发布.
4.  打开工程页面, 添加一个工程, 打开它, 按下部署 。 Dashboard在推出时显示现场状态.
5.  按项目页面上的终端登陆 `/workspace`。或将 VS 代码远程 SSH 连接到 `coding-<project>` 打开 `/workspace`。 。 。 .

关于检查和记录的全部流量,见 [网络图形界面](https://npmcn.com/package/%40esuyo/coding-container/docs/gui.md)。关于从零开始的 K3 窗口,参见 [窗口设置](https://npmcn.com/package/%40esuyo/coding-container/docs/windows-setup.md)。关于浏览器终端和VS代码,参见 [SSH 和 VS 代码](https://npmcn.com/package/%40esuyo/coding-container/docs/ssh-and-vscode.md)。 。 。 .

要停止会话, 关闭浏览器标签或键入 `exit` 在终端。 要删除一个工程,请在工程行或工程页面上删除并确认。 NAS的档案保持安全.

为了验证其效果,您的项目的 Dashboard 行读取 Running , Jobs 页面显示已做的部署, 终端打开 `/workspace`。 。 。 .

如果你喜欢这台机器上的外壳 做同样的任务,请看 [终端使用](https://npmcn.com/package/%40esuyo/coding-container/docs/cli-reference.md)。应用程序仍然是主要路径.

## 解决问题

-   **设置页面显示缺少值吗 ?** 填入注册, NFS 服务器和基础路径,然后再次按下运行设置.
-   **推或发布报告 认证困难?** 运行 `docker login <your-registry>` 先试一试.
-   **波德卡住了吗?** 通常为NFS或图像拉. 打开任务日志进行部署,然后查看 [解决问题](https://npmcn.com/package/%40esuyo/coding-container/docs/troubleshooting.md)。 。 。 .
-   **无法注册?** 在运行服务器的计算机上创建账户 。 远程地址无法故意注册 。 如果你用老一点的话 `.env` 与 `ADMIN_EMAIL` 财务报告和审定财务报表 `ADMIN_PASSWORD`,服务器在第一个启动时将这些移动到其证书文件中.
-   **页面显示未构建图形用户界面 ?** 运行 `npm --prefix web/client run build` 首先,然后重新启动服务器.

## 许可证

麻省理工学院. 见 [自由主义](https://npmcn.com/package/%40esuyo/coding-container/LICENSE)。 。 。 .

## 开发者文档

-   [网络图形界面](https://npmcn.com/package/%40esuyo/coding-container/docs/gui.md)、页面、任务和服务器设置
-   [桌面应用程序](https://npmcn.com/package/%40esuyo/coding-container/docs/desktop.md),可围绕页面安装外壳
-   [建设和部署](https://npmcn.com/package/%40esuyo/coding-container/docs/build-and-deployment.md), npm 发布、 GUI 捆绑和安装器
-   [配置](https://npmcn.com/package/%40esuyo/coding-container/docs/configuration.md),配置层,许多项目和NAS卷
-   [无根容器](https://npmcn.com/package/%40esuyo/coding-container/docs/rootless.md),非根码舱,NFS先决条件和限制
-   [环境变量和秘密](https://npmcn.com/package/%40esuyo/coding-container/docs/env-and-secrets.md),纯值加上对 shell 变量的秘密处理
-   [共享全球图像](https://npmcn.com/package/%40esuyo/coding-container/docs/global-image.md)、团队图像版本、出版、回滚和清理
-   [网络访问](https://npmcn.com/package/%40esuyo/coding-container/docs/web-access.md),浏览器使用Traefik访问dev服务器
-   [侧式车](https://npmcn.com/package/%40esuyo/coding-container/docs/sidecars.md),数据库,队列和其他 pock 同伴
-   [终端使用](https://npmcn.com/package/%40esuyo/coding-container/docs/cli-reference.md),可选的 shell 路径,所有任务来自一个提示
-   [SSH 和 VS 代码](https://npmcn.com/package/%40esuyo/coding-container/docs/ssh-and-vscode.md),按键旋转和远程 SSH 设置
-   [SSH 图像粘贴](https://npmcn.com/package/%40esuyo/coding-container/docs/ssh-image-paste.md),剪贴板图像在 SSH 上打开代码
-   [解决问题](https://npmcn.com/package/%40esuyo/coding-container/docs/troubleshooting.md),常见失败和修正
-   [建筑](https://npmcn.com/package/%40esuyo/coding-container/docs/architecture.md)、技术堆栈和系统设计
-   [项目结构](https://npmcn.com/package/%40esuyo/coding-container/docs/project-structure.md),文件夹布局
-   [发展指南](https://npmcn.com/package/%40esuyo/coding-container/docs/development.md),用于捐助者的本地设置
-   [应用配置和设置文件](https://npmcn.com/package/%40esuyo/coding-container/docs/config-files.md),持续工具配置 `/workspace`
-   [窗口设置](https://npmcn.com/package/%40esuyo/coding-container/docs/windows-setup.md),多克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克
-   [计划:额外国家财务服务卷](https://npmcn.com/package/%40esuyo/coding-container/docs/build/additional-volumes.md),额外卷的设计历史
-   [计划: 公共预建图像](https://npmcn.com/package/%40esuyo/coding-container/docs/build/public-images.md),用于公共图像的设计历史

\- 说吧

## 常见问题

### @esuyo/coding-container 是什么？

用于在 k3s 上建造、发布和部署 SSH 可访问编码容器的 CLI

### 如何安装 @esuyo/coding-container？

在项目目录运行 npm install @esuyo/coding-container，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 coding-container，可以用 npx coding-container 直接运行。

### @esuyo/coding-container 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/esuyo\_\_coding-container 是否存在。

### @esuyo/coding-container 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @esuyo/coding-container 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @esuyo/coding-container 可以商用吗？

@esuyo/coding-container 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @esuyo/coding-container 的下载量有多少？

根据 npm 官方下载统计，@esuyo/coding-container 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,783 次，日均约 93 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @esuyo/coding-container 还在维护吗？

最新版本 1\.0\.28 发布于 2026/11/10（4 天前）；至今共发布 24 个版本，其中过去 12 个月发布了 24 个；首次发布于 2026/09/11。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

