sql >> Databasteknik >  >> RDS >> Mysql

Möjligt att köra två instanser av docker-containrar på en mysql-databasbehållare?

Förhoppningsvis är en av dessa tolkningar korrekt.

Kan jag köra flera mysql-demoner i olika behållare som alla delar en enda datavolym?

Nej, varje demon behöver en separat datakatalog för att undvika konflikter. Du kan lägga flera datakataloger i den delade volymen, men resultatet av det är flera helt separata databaser. - källa

Kan jag köra flera behållare som ansluter till en enda mysql-databasbehållare?

Ja, det är möjligt att tillåta flera behållare att ansluta till en enda databasbehållare, men inte genom att dela volymer. Container Z kommer att köra mysql-demonen och andra behållare kan ansluta till den via tcp-sockets. Den officiella mysql-repo readme har steg för att komma igång:

Starta först Container Z.

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql

Kör sedan andra behållare som du vill koppla till databasen med något i stil med detta:

docker run --name webservera --link some-mysql:mysql -d application-that-uses-mysql

Dokument för --link flagga . Containerlänkning lägger till en värdfilpost för länkaliaset så att du inte behöver hitta adressen manuellt. Din webbservers databaskonfiguration skulle se ut ungefär så här

jdbc:mysql://address=(protocol=tcp)(host=mysql)(port=3306)(user=root)(password=mysecretpassword) 

Jag hoppas att detta hjälper.




  1. PostgreSQL Skapa funktion

  2. mysql användarregistrering räknas mellan grupper

  3. Konvertera alla kolumner i raderna från datum till tidsstämpel MySQL

  4. Java MySQL - Named Pipe-anslutning varnar vid stängning