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

Lassen Sie uns im Detail darüber sprechen, wie Browser Abschlüsse betrachten

Inhaltsverzeichnis Vorwort Einführung in Closures...

Detaillierte Erklärung der CSS3-Animation und der neuen Funktionen von HTML5

1. CSS3-Animation ☺CSS3-Animationen sind viel ein...

Zusammenfassung der Befehle zur Benutzerverwaltung im Linux-System

Benutzer- und Gruppenverwaltung 1. Grundlegende K...

So erstellen Sie eine PHP+Nginx+Swoole+MySQL+Redis-Umgebung mit Docker

Betriebssystem: Alibaba Cloud ESC-Instanz centos7...

Lösung für das Routing-Hervorhebungsproblem von Vue-Komponenten

Vorwort Früher habe ich den Cache verwendet, um d...

Einfache Implementierungsmethode der Vue3-Quellcodeanalyse

Inhaltsverzeichnis Vorwort 🍹Vorbereitung 🍲vue3-Nu...

Verwenden Sie JS, um Dateien zu bearbeiten (FileReader liest --node's fs)

Inhaltsverzeichnis JS liest Datei FileReader doku...

Ist Ihre Website für IE8 geeignet?

Während der Olympischen Spiele wird IE 8 Beta 2 ve...

Implementierung zum Hinzufügen von Bemerkungsinformationen zu MySQL

Vorwort Einige Leute haben mich in diesen Tagen u...

js, um den Popup-Effekt zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

So installieren Sie OpenSuse auf Virtualbox

Die virtuelle Maschine wird auf dem Hostcomputer ...

js realisiert das dynamische Laden von Daten durch Wasserfallfluss

In diesem Artikel erfahren Sie den spezifischen C...