나는 지시를 따랐다.여기사용자 네임스페이스 재매핑을 활성화하는 데 사용됩니다.
그러나 이제 컨테이너 내부에서는 더 이상 -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