subuid 및 subgid 매핑은 루트 사용자/그룹(UID/GID 0)을 매핑하지 않습니다.

subuid 및 subgid 매핑은 루트 사용자/그룹(UID/GID 0)을 매핑하지 않습니다.

나는 Docker 20.10.14를 실행하기 시작했습니다.루트리스 모드Linux Mint 20(Ubuntu 20.04 기반). 이를 위해 UID 127(그룹은 GID 139)이라는 사용자 dockerd를 생성 하고 dockerd다음을 추가했습니다 /etc/subuid./etc/subgid

dockerd:200000:65536

이제 해당 사용자로 실행되는 Docker 컨테이너 내에서 dockerd바인드 마운트 디렉터리를 통해 호스트 파일 시스템에 파일을 생성합니다.

  • 컨테이너에 UID 1000으로 생성하면 호스트 시스템의 사용자 200999에 매핑됩니다.
  • daemon컨테이너에 UID 1(사용자)로 생성 하면 호스트 시스템에 UID 200000이 있습니다.
  • 컨테이너에 UID 0(사용자)으로 생성하면 root호스트에는 UID 127이 있습니다.

따라서 하위 UID/하위 GID 바인딩은 "1 기반"으로 나타나며 UID 0을 포함하지 않습니다. 이것이 작동하는 방식입니까, 아니면 제가 뭔가 잘못하고 있습니까? 컨테이너의 루트 사용자를 호스트에서 내가 선택한 UID에 매핑할 수 없어야 합니까? 그렇다면 어떻게 해야 합니까?

~에서https://unix.stackexchange.com/a/397168/107961

dockremap:165536:65536

165536은 UID 매핑을 시작한 시스템 UID입니다(컨테이너의 UID 0).

...지도의 첫 번째 UID인 것 같네요~해야 한다UID 0에 매핑되지만 내가 보는 것은 그렇지 않습니다.

nobody또 다른 이상한 점은 호스트의 UID 0에 대한 파일 소유자가 컨테이너의 UID 65534() 소유라는 것입니다. 이런 일이 일어나야 할까요?

관련 정보