登录
第一次对受控 Box 运行命令时,它会明确告诉您该怎么做。提示信息中会自动填好 URL:~/.lager_gateway_auth(只有您本人可读),并会自动续期,因此您很少需要登录第二次。此后,lager hello、lager python、各种 Net 命令,以及其他所有命令,对那台 Box 都可以直接工作。
通过浏览器登录
加上--web,即可在网页上登录,而不必在终端中输入密码:
--no-browser。Lager 会显示一个链接并等待。在任意一台计算机上打开该链接,批准请求,然后把页面上显示的代码粘贴到终端中。
非交互式登录
两项凭据都可以作为选项传入,而不必等待提示,这正是 CI 作业所需要的:用令牌代替登录
CI 作业没有”人”的身份。如果您的认证服务器可以签发机器令牌,请把该令牌交给作业,并去掉登录步骤:~/.lager_gateway_auth 写入任何内容,因此作业不会在运行器上留下凭据。空值或只含空白字符的值视为未设置。
如果网关拒绝该令牌,命令会立即失败,并指出拒绝它的认证服务器。此时没有可退回的第二种凭据。
在容器中使用您的会话
要在 Docker 容器中使用您的会话,请把会话文件挂载到容器中。这样容器和您的计算机使用同一个会话。一边的登录或续期会立即在另一边生效。lager devenv terminal 和 lager exec 会自动完成这一步。对于用其他方式启动的容器,请自己添加挂载。
开发容器(devcontainer.json,用于 VS Code 或 Cursor):
docker run:
- 请确保该文件在容器启动之前已经存在。如果文件不存在,Docker 会创建一个同名的目录。请把它的权限设置为 0600:该文件包含您的会话,而容器无法更改 Docker Desktop 所挂载文件的权限。
- 在您的计算机和容器中,都要使用包含此更改的 CLI 版本或更新的版本。较早的版本在保存时会替换该文件,于是容器会一直使用旧的副本,而且容器自己的保存也会失败。
- 如果容器用户不是
root,请把挂载目标改为该用户的主目录。或者在容器中把LAGER_GATEWAY_AUTH_FILE设置为挂载目标路径。
检查您的状态
当情况看起来不对时,lager whoami 是第一个要运行的命令:
- 您已登录哪些服务器
- 您以什么身份登录
- 每个会话何时过期
- CLI 看到了哪些受控 Box
常见提示及其含义
如果您在较旧的 Lager 版本上遇到这些提示,请先升级 ——
登录支持需要较新的 CLI:

