사용자 네임스페이스 매핑과 함께 루트 없이 docker 명령 사용: 권한 오류

사용자 네임스페이스 매핑과 함께 루트 없이 docker 명령 사용: 권한 오류

docker build루트 권한 없이 도커 이미지를 만들고 싶습니다 .

나는 따라 갔다공식 문서docker image ls사용자 네임스페이스 재매핑을 설정하려고 했는데 (or docker build -t myapp .또는 ) 를 실행하면 docker run hello-world다음 오류가 표시됩니다.

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json": dial unix /var/run/docker.sock: connect: permission denied

섹션의 지침을 따르세요.데몬에서 userns-remap 활성화, 및 에서 이 사용자에 대한 범위를 구성 "userns-remap": "default"하고 생성 했습니다 ./etc/docker/daemon.json/etc/subuid/etc/subgid

docker 데몬이 실행 중이고 systemd를 통해 시작되었으며 로그 파일에는 사용자에 대해 네임스페이스가 활성화되어 있음이 표시됩니다 dockremap.

level=info msg="User namespaces: ID ranges will be mapped to subuid/subgid ranges of: dockremap"
level=info msg="[graphdriver] using prior storage driver: overlay2"
level=info msg="Loading containers: start."
level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
level=info msg="Loading containers: done."
level=warning msg="Not using native diff for overlay2, this may cause degraded performance for building images: kernel has CONFIG_OVERLAY_FS_REDIRECT_DIR enabled" storage-driver=overlay2
level=info msg="Docker daemon" commit=659604f9ee graphdriver=overlay2 version=24.0.2
level=info msg="Daemon has completed initialization"
level=info msg="API listen on /run/docker.sock"
Started Docker Application Container Engine.

그러나 이제 일반 사용자로서 docker 명령을 실행하면 위에 표시된 권한 오류가 발생합니다.

오류에 언급된 파일에 대한 권한:

0 srw-rw---- 1 root docker 0 Jul 14 13:35 /var/run/docker.sock

제가 지침을 잘못 이해해서 사용자가 docker 명령을 실행해야 합니까 dockremap? 그러나 다음은 아무것도 출력하지 않습니다: sudo su dockremap -c "docker image ls". 또한 dockremap비밀번호를 설정한 후에도 사용자 로 로그인할 수 없습니다 .

그래서 내 질문은 다음과 같습니다. 설명서의 설정을 따른 후에 무엇을 기대해야 하며, docker특히 이미지를 빌드하기 위해 루트 없이 명령을 어떻게 사용할 수 있습니까?

관련 정보