跳到主要内容
版本:Latest

部署配置文件

部署配置文件提供 2 个功能:

  • “Defaults” 提供首次运行时(或恢复出厂设置后)应用的首选项值。
  • “Locked” 设置允许管理员固定首选值。

它们可以由 “admin” 或 “user” 指定。如果 “admin” 上下文中存在 “defaults” 或 “locked” 设置,则会忽略 “user” 配置文件。

启动首选值

Rancher Desktop 设置如下:

  • 加载 “admin” 部署配置文件(“defaults” 和 “locked”)
  • 如果都不存在,则加载 “user” 部署配置文件(同样是 “defaults” 和 “locked”)
  • settings.json 文件加载保存的首选项
  • 如果没有保存的设置,请改用之前加载的 “defaults” 配置文件
  • 将用于启动应用程序的命令行参数值复制到设置中
  • 如果设置仍然完全为空,则显示首次运行对话框
  • 使用内置应用程序默认值填充任何缺失的值
  • 将 “locked” 配置文件中的值复制到当前设置上

用户无法通过 GUI 或 CLI 修改已被配置文件锁定的设置。

如果配置文件存在但无法正确解析,Rancher Desktop 将拒绝加载应用程序。

Rancher Desktop 不会修改或删除部署配置文件。它们不会受到恢复出厂设置或卸载的影响。

配置文件数据的结构与应用程序设置匹配:

rdctl list-settings
{
...
"containerEngine": {
"allowedImages": {
"enabled": false,
"patterns": []
},
"name": "containerd"
},
...
}

下面针对各系统的文档说明了如何创建部署配置文件,该配置文件将默认容器引擎更改为 moby,禁用 Kubernetes,并将镜像列表锁定为仅允许 busyboxnginx

锁定的偏好字段

如果你使用的是 Rancher Desktop 1.9 及更高版本,你可以在配置部署配置文件时锁定所有首选项值。根据用于创建锁定文件的目录或镜像仓库,你可能需要具有 MacOS/Linux 的 super user 权限或使用 Windows 的 admin shell 才能访问特权路径。一旦固定,各种锁定值将无法从应用程序访问,如下面的 UI 示例所示:

Details
锁定字段 UI 示例

配置文件格式和位置

不同系统使用的部署配置文件存储格式和位置不同。

在 Linux 上,部署配置文件以 JSON 格式存储。

配置文件的位置是:

/etc/rancher-desktop/defaults.json
/etc/rancher-desktop/locked.json
~/.config/rancher-desktop.defaults.json
~/.config/rancher-desktop.locked.json

将所有当前设置转换为部署配置文件

由于部署配置文件以 JSON 格式存储,因此创建配置文件最简单的方法是将当前应用程序设置保存到配置文件位置,然后使用文本编辑器微调配置文件。

rdctl list-settings > ~/.config/rancher-desktop.defaults.json

默认使用 “moby” 容器引擎并禁用 Kubernetes

~/.config/rancher-desktop.defaults.json
{
"containerEngine": {
"name": "moby"
},
"kubernetes": {
"enabled": false
}
}

将镜像列表锁定为仅允许 “busybox” 和 “nginx”

~/.config/rancher-desktop.locked.json
{
"containerEngine": {
"allowedImages": {
"enabled": true,
"patterns": ["busybox","nginx"]
}
}
}

已知问题和限制

  • 在 macOS 上,格式不正确的配置文件会被忽略,而不是阻止应用程序加载。
  • 无法通过部署配置文件设置 diagnostics.showMuted(Windows 上的 WSL.integrations)。
  • 在 macOS 和 Linux 上,如果 “defaults” 配置文件未为 application.pathManagementStrategy 配置值,则仍会显示一个简短的首次运行对话框。