Maßnahmen für Berechtigungen beim Erstellen von MySQL mit Docker auf WSL2

Vorwort

WSL2 Dies ist für diejenigen, die süchtig nach der Suche mit MySQL sind, aber keine Lösung für die Berechtigung finden können. (Immer mit Windows Docker verknüpfen ... Verwenden Sie eine GPU!)

Umgebung

Phänomen

Wenn ich den Container mit "docker-compose up -d" starte, kann der MySQL-Container nicht wie folgt gestartet werden.

root@pc-name: docker-compose logs mysql
mysql_1   | mysqld: Cannot change permissions of the file 'private_key.pem' (OS errno 1 - Operation not permitted)
mysql_1   | 2020-09-10T05:04:53.449233Z 0 [ERROR] [MY-010295] [Server] Could not set file permission for private_key.pem
mysql_1   | 2020-09-10T05:04:53.449629Z 0 [ERROR] [MY-010119] [Server] Aborting

Ich möchte die Gegenmaßnahmen für diesen Kerl beschreiben ( Erlaubnis)

Korrespondenz

Fügen Sie Mount-Optionen zu / etc / wsl.conf hinzu.

Mount-Optionen zum Hinzufügen


[automount]
options = "metadata"

Ich denke, dass der Anfang von WSL2 im Grunde nicht existiert, also folgen Sie dem Verfahren unten. Erstellen Sie `` `/ etc / wsl.conf``` in der WSL2-Distribution.

#Melden Sie sich über root an
user@pc-name:sudo -i
#Erstellen Sie eine neue WSL-Konfigurationsdatei in der WSL-Distribution
root@pc-name: sudo touch /etc/wsl.conf
#Bearbeiten Sie die Einstellungsdatei.
root@pc-name: vi /etc/wsl.conf

Mount-Optionen ändern. Versetzen Sie den Befehl vi mit i in den Einfügemodus und geben Sie Folgendes ein.

[automount]
options = "metadata"

Nach dem Drücken von ESC überschreiben und speichern Sie (: wq) und starten Sie die WSL neu.

#Abmelden der Route
root@pc-name:exti
#wsl abmelden
user@pc-name:exit
#WSL herunterfahren
wsl --shutdown
#Starten Sie WSL + Login
wsl

Ich denke, dass der Berechtigungsfehler in Bezug auf Docker wieder verschwunden ist.

Bonus

Das folgende Protokoll ist darauf zurückzuführen, dass das Mount-Verzeichnis von / var / lib / mysql bereits vorhanden ist. Die Lösung besteht darin, dieses Verzeichnis zu löschen.

root@pc-name: docker-compose logs mysql
...
mysql_1   | 2020-09-10T05:00:42.590708Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
mysql_1   | 2020-09-10T05:00:42.590714Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
mysql_1   | 2020-09-10T05:00:42.590777Z 0 [ERROR] [MY-010119] [Server] Aborting

Recommended Posts

Maßnahmen für Berechtigungen beim Erstellen von MySQL mit Docker auf WSL2
Verfahren zum Erstellen einer Rails-Anwendungsentwicklungsumgebung mit Docker [Rails, MySQL, Docker]
Das Bild flog beim Aktualisieren von Docker mit WSL2
Bedienen Sie Docker Desktop für Windows mit Linux (WSL)
Explodiere Docker mit WSL2
Wenn Kubernetes nicht auf Docker Desktop für Mac gestartet wird
Docker für Windows: Der MySQL-Container wird bei der Migration von Hyper-v auf WSL2 nicht gestartet
Docker Autostart-Einstellung mit wsl2
Erstellen einer Docker-Umgebung mit WSL
docker-compose.yml, wenn Sie MySQL auf Docker laufen lassen möchten
Erstellen Sie mit Docker ein SPA für Laravel 6.2 / Vue.js / Nginx / Mysql / Redis
Installieren Sie den Metrics-Server mit Helm auf Kubernetes, das mit Docker für Mac geliefert wird
Erstellen einer Haskell-Umgebung mit Docker + VS-Code unter Windows 10 Home
WSL2 + Docker Desktop für Windows startet nicht nur den MySQL-Container
Erstellen Sie mit Docker Compose eine Entwicklungsumgebung für Django + MySQL + nginx
Konstruktionsverfahren für die Docker-Umgebung "Rails 6 x MySQL 8" für die gemeinsame Nutzung mit Teams
Umgebungsbau mit Docker für Anfänger
Lesen Sie die Dump-Datei mit MySQL von Docker
WordPress mit Docker Compose unter CentOS 8
[Umgebungskonstruktion mit Docker] Rails 6 & MySQL 8
Verwenden von Docker mit Windows10 Home WSL2
Aktualisieren Sie MySQL mit Docker von 5.7 auf 8.0
Erstellen Sie eine Debug-Umgebung auf einem Container. Erstellen Sie mit Docker eine lokale Entwicklungsumgebung für Rails-Tutorials.
Tutorial 1 zum Erstellen von Apps mit Rails (Erste Schritte zu Yay! Du bist auf Rails!)
Klonen Sie Ihre eigene Web-App auf GitLab, wenn Sie ein Docker-Image erstellen
Windows Docker: Datenträgerdruck auf WSL-Datei
Erstellen einer Rails 6- und PostgreSQL-Umgebung mit Docker
Verwenden von JupyterLab + Java mit WSL unter Windows 10
Installieren Sie Docker Desktop für Mac mit Homebrew
Mit Docker auf Heroku bereitstellen (Rails 6, MySQL)
Schaben mit Puppenspieler in Nuxt auf Docker.
Erste Schritte mit Docker für Mac (Installation)
Bearbeiten Sie MySQL mit Befehlen in der Docker-Umgebung
Anweisungen zum Erstellen von Apache Derby unter Windows
Bildposting mit [Docker + WordPress + MySQL] zulassen
Verwenden Sie cljstyle mit Spacemacs unter Ubuntu unter WSL2
GPU-Erkennung mit Docker mithilfe von WSL2 (August 2020)
Implementieren Sie eine einfache CRUD mit Go + MySQL + Docker
Versuchen Sie, Docker in Ubuntu auf WSL zu setzen
Erstellen Sie eine Umgebung mit Docker unter AWS
Führen Sie Ubuntu + ROS mit Docker auf dem Mac aus
[Fehlerbehebung] Tritt auf, wenn versucht wird, mit Docker eine Umgebung für den Frühling zu erstellen
Erleben Sie CI / CD mit Katacoda (für Anfänger) - Teil 10 (Erstellen von Docker-Bildern mit Jenkins)