我正在尝试将 Docker Swarm 与 sysbox 运行时一起使用。对于我的一项服务,我想设置秘密挂载的 UID:
services:
service1:
secrets:
- source: secretname
uid: "1234"
这用于正常的 Docker 运行时。但是,在使用 sysbox 运行时时它没有任何效果。该秘密被安装为用户“nobody”。我认为这是因为 sysbox 使用 ID 映射安装。
使用 sysbox 时还有办法指定秘密挂载的 uid、gid 和模式吗?
(在通过 Nestybox-Support Slack 工作区获得 Cesar Talledo 的帮助后回答我自己的问题)
秘密安装在 tmpfs 文件系统中。运行 findmnt 证实了这一点:
├─/run/secrets/secret_name tmpfs[/te7tlwvwcrcyska47ga4vaj8i] tmpfs ro,relatime
Sysbox 尝试在 tmpfs 挂载之上使用 idmapped-mounts,但 tmpfs 直到内核 6.3+ 才支持 idmapped-mounts。我使用的是 WSL2,内核版本为 5.15。
要使可配置的 UID 正常工作,您需要:
由于我正在使用 WSL,这两个选项目前似乎都不可行: