오류 메세지 혹은 현상
- 컨테이너를 root 계정이 아닌 rootless로 podman run 명령어를 이용하여 구동 할 때
- podman unshare cat 명령어로 /proc/self/uid_map 내용을 확인 할 때
- podman unshare chown 명령어로 소유자를 변경 할 때
관련 오류 모음
podman unshare cat /proc/self/uid_map ERRO[0000] cannot find UID/GID for user testuser: no subuid ranges found for user "testuser" in /etc/subuid - check rootless mode in man pages. WARN[0000] Using rootless single mapping into the namespace. This might break some images. Check /etc/subuid and /etc/subgid for adding sub*ids if not using a network user
podman run -it --rm docker.io/alpine Trying to pull docker.io/library/alpine:latest... Getting image source signatures Copying blob 8a49fdb3b6a5 done Error: copying system image from manifest list: writing blob: adding layer with blob "sha256:8a49fdb3b6a5ff2bd8ec6a86c05b2922a0f7454579ecc07637e94dfd1d0639b6": processing tar file(potentially insufficient UIDs or GIDs available in user namespace (requested 0:42 for /etc/shadow): Check /etc/subuid and /etc/subgid if configured locally and run podman-system-migrate: lchown /etc/shadow: invalid argument): exit status 1
podman unshare chown -R testuser:users testfolder chown: changing ownership of 'testfolder': Invalid argument
원인
- User 계정 생성 시 user id를 임의로 지정하여 subuid 와 subgid 가 설정 되어 있지 않아 발생한 오류
문제 해결
- root 혹은 sudo 계정을 이용하여 /etc/subuid 와 /etc/subgid를 수정하여 해결 할 수 있습니다.
1. 편집기를 이용하여 /etc/subuid, /etc/subgid의 내용을 수정 합니다.
형식: [USER-ID]:[Subordinate user/group Start range]:[Subordinate user/group End range]
수정 예:
aiadmin:100000:65536
2. 컨테이너에서 사용 할 uid 가 정상적으로 맵핑이 되었는지 확인 합니다.
podman unshare cat /proc/self/uid_map
◪ uid 가 정상적으로 매핑이 되지 않았을 경우 migrate 명령어 실행 합니다.
podman system migrate
참고사항 ※ uid가 End range는 uid 보다 큰 범위를 지정해야 합니니다. 예를들어 uid가 70001일 경우 end range 65536을 벗어나기 때문에 100000 과 같이 uid 보다 더 큰 범위를 지정해야합니다. 예: aiadmin:100000:100000
아티클이 유용했나요?
훌륭합니다!
피드백을 제공해 주셔서 감사합니다.
도움이 되지 못해 죄송합니다!
피드백을 제공해 주셔서 감사합니다.
피드백 전송
소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.