Forhåbentlig er en af disse fortolkninger korrekt.
Kan jeg køre flere mysql-dæmoner i forskellige containere, der alle deler en enkelt datavolumen?
Nej, hver dæmon har brug for en separat datamappe for at undgå konflikter. Du kan lægge flere datamapper i den delte volumen, men resultatet af det er flere fuldstændig separate databaser. - kilde
Kan jeg køre flere containere, der forbinder til en enkelt mysql-databasecontainer?
Ja, det er muligt at tillade flere containere at oprette forbindelse til en enkelt databasecontainer, men ikke ved at dele volumener. Container Z vil køre mysql-dæmonen, og andre containere kan oprette forbindelse til den via tcp-sockets. Den officielle mysql-repo readme har trin til at komme i gang:
Start først Container Z.
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
Kør derefter andre containere, som du vil forbinde til databasen med noget som dette:
docker run --name webservera --link some-mysql:mysql -d application-that-uses-mysql
Docs for --link
flag
. Containerlinkning tilføjer en værtsfilpost for linkaliaset, så du ikke behøver at finde adressen manuelt. Din webservers databasekonfiguration ville se nogenlunde sådan ud
jdbc:mysql://address=(protocol=tcp)(host=mysql)(port=3306)(user=root)(password=mysecretpassword)
Jeg håber, at dette hjælper.