终端与命令
在控制台或 CLI 中进入运行中服务的容器,就像使用 kubectl exec 一样。
终端
打开服务,再打开概览中的 终端 卡片。你会在服务最新的实例中得到一个交互式 shell:镜像中有 bash 就用 bash,否则用 sh。它的行为和本地终端一样:颜色、vim、top、less、Ctrl-C 和 Esc 都能传到 shell,并且会跟随窗口大小。
在 CLI 中:
sh
zenavo shell webCLI 的退出码就是 shell 的退出码,所以 zenavo shell web < script.sh 也可以在脚本中使用。
- 每个终端都是容器中一个新的 shell。数据卷以外的修改会在服务重启或重新部署时丢失。
- 终端在 30 分钟没有输入后关闭,无论如何最长 8 小时。每个账号同时最多打开 5 个。
- 没有 shell 的镜像(distroless、scratch)无法打开终端。
命令
命令 卡片用 sh -c 运行单条命令并显示输出,适合快速检查和一次性任务,例如数据库迁移。输出最多 256 KB,已知的变量值会被遮盖。在 CLI 中:zenavo service exec -s web -- ls -la。
谁可以使用
成员、管理员和所有者。观察者不能使用:shell 可以读取服务的变量。打开终端和运行命令都会记录在审计日志中,但不记录输入的内容:命令和按键中可能包含机密。终端输出不会被遮盖。