sql >> Database teknologi >  >> RDS >> Mysql

Muligt at køre to forekomster af docker-containere på én mysql-databasecontainer?

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.




  1. Advarsel:PDO::exec() forventer, at parameter 1 er streng

  2. Sådan bruger du flere databaser dynamisk til en model i CakePHP

  3. Halloween-problemet – del 4

  4. UNION resultaterne af flere lagrede procedurer