Docker-Lösung zum Anmelden ohne Root-Rechte

Docker-Lösung zum Anmelden ohne Root-Rechte

Wenn Sie den Docker-Befehl zum ersten Mal verwenden, werden Sie zu Berechtigungsfragen aufgefordert.

Beim Versuch, eine Verbindung zum Docker-Daemon-Socket unter unix:///var/run/docker.sock herzustellen, wurde die Berechtigung verweigert: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied

Lösung:

1. Verwenden Sie sudo, um Root-Rechte zu erhalten;

Zweitens, fügen Sie den aktuellen Benutzer zur Docker-Benutzergruppe hinzu;

sudo groupadd docker #Docker-Benutzergruppe hinzufügen sudo gpasswd -a $USER docker #Den angemeldeten Benutzer zur Docker-Benutzergruppe hinzufügen newgrp docker #Benutzergruppe aktualisieren docker ps #Testen, ob sich der Docker-Befehl normal mit sudo verwenden lässt

Ergänzung: Problem und Lösung, wenn sich der Root-Benutzer beim Bereitstellen von MySQL mit Docker nicht anmelden kann

Als ich heute das Docker-Image mysql:5.7 verwendete, stellte ich fest, dass ich mich nach dem Starten des Containers nicht als Root-Benutzer anmelden konnte. Hier sind die Schritte:

1. Ziehen Sie das mysql5.7-Image

$ docker pull mysql:5.7

2. Eine Brücke bauen

$docker-Netzwerk erstellen -d Bridge Blog-Netzwerk

3. Führen Sie den MySQL-Container aus

 Docker-Container ausführen -it --rm --name mysql --network blog_network -v $PWD/data/myscript/:/docker-entrypoint-initdb.d/ --env MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

4. Geben Sie den Container ein

$ docker exec -it mysql bash
#mysql -u root -p

Das im Schritt 3 festgelegte Passwort 123456 liefert das Ergebnis:

Passwort eingeben: 
FEHLER 1045 (28000): Zugriff für Benutzer „root“@„localhost“ verweigert (mit Passwort: JA)

5. Die Lösung lautet wie folgt

Schritt 2: Führen Sie den Containerbefehl aus und ändern Sie ihn wie folgt:

 $ Docker-Container ausführen -it --detach --name mysql --network blog_network -p 3306:3306 -v $PWD/data/myscript/:/docker-entrypoint-initdb.d/ --env MYSQL_RANDOM_ROOT_PASSWORD=yes mysql:5.7
$ Docker-Containerprotokolle mysql| grep 'GENERIERTES ROOT-PASSWORT: ' | awk -F': ' '{print $2}'

Es wird eine Zeichenfolge zurückgegeben, die das tatsächliche Kennwort unseres Root-Benutzers ist: Melden Sie sich mit diesem Kennwort an und ändern Sie dann das Root-Benutzerkennwort.

ooli0OhMoo1Ieg1CeiYieSohleeVi1oh
$mysql -u root -p

Nachdem Sie MySQL mit dem obigen Passwort aufgerufen haben, müssen Sie das Passwort ändern.

mysql>update mysql.user set authentication_string=password('neuesPasswort') wobei user='root';
mysql>Berechtigungen leeren;
mysql>Beenden

Wie in der Abbildung gezeigt:

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • So erhalten Sie ein dauerhaftes kostenloses SSL-Zertifikat von Let’s Encrypt in Docker
  • So ändern Sie das Root-Passwort von MySQL in Docker
  • So ändern Sie das Root-Passwort in einem Container mit Docker
  • So erhalten Sie Root-Berechtigungen in einem Docker-Container
  • Docker CP kopiert Dateien und gibt den Container ein
  • Docker verwendet Root, um in den Container zu gelangen
  • Lösung für den Docker-Container, der keine Schreibberechtigung für das Host-Verzeichnis hat
  • So fügen Sie Docker ein Zertifikat hinzu

<<:  Verschiedene Transformationseffekte beim Umschalten von HTML-Webseiten

>>:  Medienabfrage kombiniert mit Rem-Layout in CSS3 zur Anpassung an mobile Bildschirme

Artikel empfehlen

Schritte zum Bereitstellen von Ingress-Nginx auf K8s

Inhaltsverzeichnis Vorwort 1. Bereitstellung und ...

Verwenden Sie sauberes HTML-Markup zum Erstellen Ihrer Seiten

Das Internet ist ein Organismus, der sich ständig...

Eine kurze Diskussion zur MySQL-Indexoptimierungsanalyse

Warum sind die von Ihnen geschriebenen SQL-Abfrag...

Installieren und konfigurieren Sie SSH in CentOS7

1. Installieren Sie openssh-server yum install -y...

Einige Hinweise zur Installation eines Fastdfs-Images im Docker

1. Bereiten Sie die Docker-Umgebung vor 2. Suchen...

js zum Aufrufen der Netzwerkkamera und Behandeln häufiger Fehler

Vor kurzem musste ich aus geschäftlichen Gründen ...

So verwenden Sie den Vue-Filter

Inhaltsverzeichnis Überblick Filter definieren Ve...

HTML-Tutorial: Horizontales Liniensegment in HTML

<br />Dieses Tag kann eine horizontale Linie...