Chown 通过 Docker 用户命名空间重新映射破坏了绑定卷:“不允许操作”

Chown 通过 Docker 用户命名空间重新映射破坏了绑定卷:“不允许操作”

我按照说明进行操作这里用于启用用户命名空间重新映射。

但是,现在在容器内,我无法再更改-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

我需要做两件事来解决这个问题:

  1. 我需要删除:Z卷绑定
  2. 我需要确保主机上绑定文件夹的权限分别以/etc/subuid和中找到的 UID 和 GID 开头/etc/subgid。换句话说,我必须(在主机上)运行:chown -R 100000:100000 vol/service

相关内容