[Ubuntu] Einstellungen und Vorsichtsmaßnahmen zum Ausführen von Docker ohne den Befehl sudo

2019/10/3

Ein Hinweis zum Aktivieren von Docker ohne Sudo bei Verwendung von Docker unter Ubuntu.

Auslösen

Nach der Installation von Docker, wie es istsudoAls ich den Vorgang ohne Befehl überprüfte, trat ein Fehler auf.

#Run von Ubuntu Terminal Docker laufen Hallo-Welt 

Docker: Beim Versuch, eine Verbindung zum Docker-Daemon-Socket unter Unix herzustellen, wurde die Berechtigung verweigert: ///var/run/docker.sock: Post http: //%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create: Wählen Sie unix /var/run/docker.sock: connect: Berechtigung verweigert. Siehe'docker run –help '.

Es scheint, dass der Zugriff auf den Docker-Daemon verweigert wurde. Ich tippte sudo docker run hello-world und es funktionierte.

Die Ursache des Fehlers scheinen die folgenden Gründe zu sein.

Docker kommuniziert mit einem Daemon (Dockerd), der mit Root-Rechten über Unix-Socket oder TCP / IP ausgeführt wird. Sie müssen jedoch zur Docker-Gruppe gehören oder über Root-Rechte verfügen, um auf Dockerd zugreifen zu können.

Verstehen Sie die Gefahren des Hinzufügens von Benutzern zu einer Docker-Gruppe mit Docker

Durch Hinzufügen des Befehls sudo können allgemeine Benutzer Befehle ausführen, die ohne Root-Berechtigungen nicht ausgeführt werden können (z. B. Herstellen einer Verbindung zu einem Daemon).Aber jedes Mal Sudo hinzuzufügen ist mühsam.

Gegenmaßnahmen und Vorsichtsmaßnahmen

Eine Möglichkeit, ohne sudo zu laufen, besteht darin, den Benutzer zur Dokcer-Gruppe zu gehören (oft gegoogelt), aber es scheint auch ein Sicherheitsproblem zu geben.

Referenz: Risiko bei der Gewährung von Root-ähnlichen Berechtigungen in der Docker-Gruppe (offizielles Dokument)

Wenn Sie Docker ohne Sudo verwenden möchten, newgrp Es wird gesagt, dass es besser ist, vorübergehend zu einer Gruppe oder zu Benutzernamensräumen zu gehören.

sudo groupadd docker # $ USER mit Benutzername sudo usermod -aG docker $ USER newgrp docker docker run hallo-world 

Hallo von Docker!
Diese Meldung zeigt an, dass Ihre Installation anscheinend ordnungsgemäß funktioniert.

Um diese Nachricht zu generieren, hat Docker die folgenden Schritte ausgeführt:

1. Der Docker-Client hat den Docker-Dämon kontaktiert.
2. Der Docker-Daemon hat das Image „Hallo Welt“ vom Docker Hub abgerufen.
(amd64)
3. Der Docker-Daemon hat aus diesem Image einen neuen Container erstellt, auf dem das ausgeführt wird
ausführbare Datei, die die Ausgabe erzeugt, die Sie gerade lesen.
4. Der Docker-Daemon hat diese Ausgabe an den Docker-Client gestreamt, der sie gesendet hat
zu Ihrem Terminal.

Um etwas ehrgeizigeres auszuprobieren, können Sie einen Ubuntu-Container ausführen mit:
$ docker run -it Ubuntu Bash

Teilen Sie Bilder, automatisieren Sie Workflows und mehr mit einer kostenlosen Docker-ID: https://hub.docker.com/

Weitere Beispiele und Ideen finden Sie unter:
https://docs.docker.com/get-started/