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

관련 정보