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

Abfrage der Daten des Tages vor dem aktuellen Zeitintervall in MySQL

1. Hintergrund In tatsächlichen Projekten stoßen ...

Vue ruft die PC-Kamera auf, um die Fotofunktion zu realisieren

In diesem Artikelbeispiel wird der spezifische Co...

SQL Get gespeicherte Prozedur gibt Datenprozessanalyse zurück

Dieser Artikel stellt hauptsächlich die Analyse d...

So verwenden Sie fdisk zum Partitionieren der Festplatte in Linux

Häufig verwendete Befehle für Linux-Partitionen: ...

Linux: Kein Speicherplatz mehr auf Gerät 500 – Fehler aufgrund voller Inodes

Was ist ein Inode? Um Inode zu verstehen, müssen ...

Informationen zur Verwendung der Vue v-on-Direktive

Inhaltsverzeichnis 1. Auf Ereignisse achten 2. Üb...

Vue3 setup() - Erweiterte Verwendungsbeispiele - ausführliche Erklärung

Inhaltsverzeichnis 1. Unterschiede zwischen Optio...

CentOS 8-Installationsdiagramm (superdetailliertes Tutorial)

CentOS 8 ist offiziell veröffentlicht! CentOS ent...

jQuery implementiert einen prozentualen Fortschrittsbalken

In diesem Artikel wird der spezifische Code von j...

Ein kurzer Vortrag über den Diff-Algorithmus in Vue

Inhaltsverzeichnis Überblick Virtueller Dom Prinz...

Zabbix implementiert die Überwachung mehrerer MySQL-Prozesse

Auf einem Server werden drei MySQL-Instanzprozess...

So verwenden Sie den Flat Style zum Gestalten von Websites

Das Wesen einer flachen Website-Struktur liegt in...