Heim >Betrieb und Instandhaltung >Docker >Benötigen Sie Root-Berechtigungen, um Docker zu verwenden?
Für die Verwendung von Docker sind Root-Berechtigungen erforderlich. Wenn Sie keine Root-Berechtigungen haben, können Sie sudo verwenden, um Administratorberechtigungen zu erhalten, Docker-Befehle auszuführen oder den aktuellen Benutzer zum Docker hinzuzufügen Benutzergruppe, dann aktuell Der Benutzer hat die Berechtigung, auf den „Unix-Socket“ zuzugreifen und kann dann Docker-bezogene Befehle ausführen.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.
Sie benötigen Root-Berechtigungen, um Docker auszuführen.
Um das Problem zu lösen, dass Nicht-Root-Benutzer keine Berechtigung zum Ausführen von Docker-Befehlen haben, lautet die Methode wie folgt:
Methode 1:
Verwenden Sie sudo, um Administratorrechte zu erhalten und Docker-Befehle auszuführen Wird häufig beim Ausführen von Docker-Befehlen über Skripte verwendet. Einschränkungen
Methode 2:
Wenn der Docker-Daemon gestartet wird, erhält die Benutzergruppe namens Docker standardmäßig die Berechtigung zum Lesen und Schreiben von Unix-Sockets. Erstellen Sie also einfach den Docker Benutzergruppe und fügen Sie den aktuellen Benutzer zur Docker-Benutzergruppe hinzu. Anschließend hat der aktuelle Benutzer die Berechtigung, auf den Unix-Socket zuzugreifen, und kann dann Docker-bezogene Befehle ausführen. Das heißt, der Benutzer, der den Docker-Daemon ausführt, ist immer noch Root. Wir müssen die folgenden Korrekturen vornehmen:
Das heißt, wir müssen Docker unter einem Nicht-Root-Benutzer installieren und den Docker-Daemon starten. Dieser Installations- und Betriebsmodus wird als „RootLess“-Modus bezeichnet. Kann installiert werden, es gibt jedoch Voraussetzungen: Der „RootLess“-Modus wurde als experimentelle Funktion in Docker Engine v19.03 eingeführt und ist ab Docker Engine v20.10 offiziell verfügbar.
Voraussetzungen
Sie müssen die Shadow-Utils der Tools newuidmap und newgidmap installieren. Das heißt, die Konfiguration von /etc/subuid und /etc/subuid oben erfordert die Unterstützung dieser beiden Tools. Bestätigen Sie vor der Installation mit „Yum List Installed Shadow-Utils“, ob es installiert wurde oder mit dem Betriebssystem geliefert wird. Wenn es vorhanden ist, installieren Sie es nicht, aber die Konfiguration im dritten Schritt ist erforderlich.
Schritt eins: Fügen Sie eine Softwarepaket-Installationsquelle hinzu, die „shadow-utils46-newxidmap“ enthält .max_user_namespaces = 28633 in der conf-Datei Führen Sie nach Abschluss der Änderung den Befehl sysctl --system aus, damit die Parameter wirksam werden.sudo groupadd docker #添加docker用户组 sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中 newgrp docker #更新用户组Der Standardwert dieses Parameters ist 0, was bedeutet, dass Betriebssystembenutzer keinen Subuid-Speicherplatz haben dürfen. Nachdem der obige Vorgang abgeschlossen ist, verwenden Sie den Befehl sysctl --all --pattern user_namespaces, um die Änderungsergebnisse zu überprüfen. Empfohlenes Lernen: „
Docker-Video-Tutorial
“Das obige ist der detaillierte Inhalt vonBenötigen Sie Root-Berechtigungen, um Docker zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!