Docker MySQL
Offizielles Image auf DockerHub: https://hub.docker.com/_/mysql/
FĂźr MySQL gibt es etliche Docker Images ...
Offizielles Docker Image
Persistenz auf Docker-Host
Ich habe das per (docker-compose.yml
)
geschafft und kann somit den Container wegwerfen, ohne die Daten aus der Datenbank zu verlieren.
Permissions
https://denibertovic.com/posts/handling-permissions-with-docker-volumes/
ABER ... der Owner der Dateien ist zunächst mal vom Image/Container festgelegt. Es scheint so als sei das fest auf die User-ID 999 eingestellt ... zumindest findet man in der /etc/passwd
im Docker-Container folgenden Eintrag:
und das docker-entrypoint.sh
Skript aus dem MySQL Docker Image scheint den Owner der Dateien im sog. DATADIR auf genau diesen User mysql
zu setzen:
Sollte diese ID auf dem Docker-Host vergeben sein, dann bekommt man dessen Usernamen angezeigt. Letztlich kann man die Dateien nur als der User der entsprechende User im Docker-Host lÜschen ... und das ist eben zufällig ... meisten hilft hier nur der User root
oder eben sudo
.
In der Doku zum Image findet man diesen lapidaren Hinweis:
"The downside is that the user needs to make sure that the directory exists, and that e.g. directory permissions and other security mechanisms on the host system are set up correctly."
Dieses Problem wird ausgiebig diskutiert und mittlerweile verwende ich diesen Ansatzbisher habe ich noch keine zufriedenstellende LĂśsunge gefunden. Folgendes funktioniert schon mal (wobei die Variable UID explizit exportiert werden muĂ):
hat aber deutliche Seiteneffekte, denn dann ist der Owner innerhalb des Docker-Containers der User mit dieser UID ... und die existiert eben i. a. nicht:
DAMN :-(
Last updated
Was this helpful?