Docker를 사용하려면 루트 권한이 필요합니다. 루트 권한이 없는 일반 사용자는 docker를 작동할 수 없습니다. 루트 권한이 없으면 sudo를 사용하여 관리자 권한을 얻거나 docker 명령을 실행하거나 현재 사용자를 docker에 추가할 수 있습니다. user 그룹이면 현재 사용자는 "Unix 소켓"에 액세스할 수 있는 권한을 가지며 docker 관련 명령을 실행할 수 있습니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, docker 버전 19.03, Dell G3 컴퓨터.
docker를 실행하려면 루트 권한이 필요합니까?
루트가 아닌 사용자에게 docker 명령을 실행할 권한이 없는 문제를 해결하려면 방법은 다음과 같습니다.
방법 1:
sudo를 사용하여 관리자 권한을 얻고 docker 명령을 실행합니다. 제한 사항
방법 2:
docker 데몬이 시작되면 기본적으로 docker라는 사용자 그룹에 Unix 소켓을 읽고 쓸 수 있는 권한이 부여되므로 docker를 생성하면 됩니다. user 그룹을 선택하고 현재 사용자를 docker user 그룹에 추가하면 현재 사용자는 Unix 소켓에 액세스할 수 있는 권한을 갖게 되며 docker 관련 명령을 실행할 수 있습니다
sudo groupadd docker #添加docker用户组 sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中 newgrp docker #更新用户组
확장 지식:
docker 데몬에는 루트 권한이 있습니다. 즉, docker 데몬을 실행하는 사용자는 여전히 루트입니다. 다음과 같이 수정해야 합니다.
즉, 루트가 아닌 사용자로 docker를 설치하고 docker 데몬을 시작해야 합니다. 이 설치 및 작업 모드를 "RootLess" 모드라고 합니다. 설치할 수 있지만 전제 조건이 있습니다. "RootLess" 모드는 Docker Engine v19.03에서 실험적 기능으로 도입되었으며 Docker Engine v20.10부터 공식적으로 사용할 수 있습니다.
전제 조건
newuidmap 및 newgidmap 도구 Shadow-utils를 설치해야 합니다. 즉, 위에서 /etc/subuid 및 /etc/subuid를 구성하려면 이 두 도구의 지원이 필요합니다. 설치 전, yum list listedshadow-utils를 이용해 운영체제가 설치되어 있는지, 운영체제와 함께 제공되는지 확인한다. 있다면 설치하지 말고 세 번째 단계의 구성이 필요하다.
1단계: Shadow-utils46-newxidmap
curl -o /etc/yum.repos.d/vbatts-shadow-utils-newxidmap-epel-7.repo https://copr.fedorainfracloud.org/coprs/vbatts/shadow-utils-newxidmap/repo/epel-7/vbatts-shadow-utils-newxidmap-epel-7.repo
을 포함하는 소프트웨어 패키지 설치 소스를 추가합니다. 2단계: yum install -y Shadow-utils46-newxidmap
3단계: /etc/sysctl에서 시스템 매개변수 user를 수정합니다. .max_user_namespaces = 28633 수정이 완료된 후 sysctl --system 명령을 실행하여 매개변수를 적용합니다.
echo user.max_user_namespaces=28633 >> /etc/sysctl.d/userns.conf; sudo sysctl -p /etc/sysctl.d/userns.conf; echo user.max_user_namespaces=28633 >> /etc/sysctl.d/userns.conf; sudo sysctl -p /etc/sysctl.d/userns.conf;
이 매개변수의 기본값은 0입니다. 이는 운영 체제 사용자가 하위 UI 공간을 가질 수 없음을 의미합니다. 위 작업이 완료된 후 sysctl --all --pattern user_namespaces 명령을 사용하여 수정 결과를 확인합니다.
추천 학습: "docker 비디오 튜토리얼"
위 내용은 docker를 사용하려면 루트 권한이 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!