仅应用访问:防止镜像被复制
适用场景
镜像作者(以下简称作者)在镜像里放了自研的工作流、启动器或调试好的环境,担心其他用户开机后,通过 SSH、JupyterLab 或文件管理把整个环境拷走,再保存成镜像另行发布。
发布时开启「仅应用访问」后,镜像用户(以下简称用户)只能通过作者指定的应用(如 WebUI 页面)使用这个镜像,无法进入实例查看或拷贝镜像里的文件,也不能把实例保存成新镜像。
仅收费版本支持开启:价格按镜像版本设置,只有设置了价格的版本可以开启,免费版本不能开启。
开启后,用户的实例有哪些变化
| 不能再做的 | 仍然可以做的 |
|---|---|
| SSH 登录、控制台远程登录(网页 SSH / VNC) | 打开作者开放的应用 |
| 使用 JupyterLab、文件管理 | 开关机、重启、续费、更改实例规格、删除实例 |
| 制作镜像(保存为私有镜像) | 挂载云存储、云硬盘,用于传入素材和取回结果 |
| 修改端口、防火墙,设置实例密码 | 更换为其他镜像 |
用户在部署页会看到「仅应用访问」标签和限制说明,确认后才能创建实例;实例创建后不能自行解除限制。
作者本人用该镜像创建的实例不受限制,可以正常登录和调试。
发布镜像时开启
镜像制作和发布的完整流程见 如何发布社区镜像 ,以下只说明「仅应用访问」相关的设置。
-
进入 我的发布 → 发布镜像,在第 1 步「基本设置」中设置价格。
-
在第 2 步「版本设置」中展开 高级设置,在「应用」中添加用户要用的应用和端口;自己开发的应用,可以在「自定义开放端口」中添加。

- 打开 仅应用访问 开关,阅读提示后,在「开放给用户的应用」中勾选至少 1 个应用。
- JupyterLab 等管理类应用可以查看和修改文件,不能开放,显示为灰色。
- 只勾选用户真正需要的应用,并确认这些应用不提供终端、文件浏览或插件安装功能。

-
开启后「支持自启动」会自动勾选且不能取消。用户无法登录终端手动启动应用,请确认实例开机后应用能自动运行,配置方法见 自启动 。
-
第 3 步撰写 README 时,建议写清楚如何上传素材、下载结果,例如使用应用内的上传下载功能,或挂载云存储。
-
第 4 步核对设置后提交审核。审核时会检查开放的应用是否提供终端、文件浏览等可以查看镜像内容的功能。
已发布的镜像如何开启或关闭
- 按版本设置:每个版本单独设置价格和是否开启,互不影响。免费版本不能开启。
- 发布新版本:默认沿用上一个版本的设置,可在发布时修改。新版本发布后,旧版本一般会置为失效,因此给已发布的镜像开启,最直接的方式是发布一个开启了「仅应用访问」的新版本,操作见 更新已发布的社区镜像 。
- 编辑已发布的版本:在 创作者中心 → 编辑版本 中开启或关闭,也可以修改开放的应用。
- 生效时间:修改只对用户之后新建的实例生效。已经创建的实例保持创建时的设置,重启或关机再开机也不变。
常见问题
我的镜像是免费的,能开启吗?
不能。价格按版本设置,只有设置了价格的版本支持开启「仅应用访问」。
开启后,我自己还能登录实例调试吗?
可以。作者本人用该镜像创建的实例不受限制。
为什么 JupyterLab 不能勾选?
JupyterLab 自带终端和文件浏览,开放它等于开放了镜像里的全部文件,所以不能作为开放应用。
用户先用普通镜像开机,再更换成我的镜像,能绕过限制吗?
不能。更换镜像后按新镜像的设置判断,换成开启了「仅应用访问」的镜像就会受限。反过来,用户把实例换成其他普通镜像后会恢复完整权限,但系统盘已经清空,不再包含原镜像的内容。
开启后会影响镜像收益吗?
部分用户需要 SSH 或文件管理,看到限制后可能不选择该镜像。建议在 README 中说明开放了哪些应用、文件如何传入传出,减少用户的顾虑。