我按照说明进行操作这里用于启用用户命名空间重新映射。
但是,现在在容器内,我无法再更改-v
有界卷的所有权。
我在 Fedora 上使用 Docker 和docker-compose
.各卷装订如下:
service_name:
volumes:
- ./vol/service:/opt/service:Z
# other config info removed...
我尝试添加cap_add
:
service_name:
volumes:
- ./vol/service:/opt/service:Z
cap_add:
- CHOWN
- SETGID
- SETUID
# other config info removed...
那没有帮助。即使我在主机上运行,容器内的根用户也无法chown
访问绑定的文件夹(在本例中为/opt/service
)或文件夹内的任何内容。chmod go+rwx vol/service
帮助?
答案1
我需要做两件事来解决这个问题:
- 我需要删除
:Z
卷绑定 - 我需要确保主机上绑定文件夹的权限分别以
/etc/subuid
和中找到的 UID 和 GID 开头/etc/subgid
。换句话说,我必须(在主机上)运行:chown -R 100000:100000 vol/service