sql >> Database >  >> RDS >> Mysql

Mogelijk om twee exemplaren van docker-containers op één mysql-databasecontainer uit te voeren?

Hopelijk is een van deze interpretaties correct.

Kan ik meerdere mysql-daemons uitvoeren in verschillende containers die allemaal een enkel gegevensvolume delen?

Nee, elke daemon heeft een aparte datadirectory nodig om conflicten te voorkomen. Je zou meerdere datadirectories in het gedeelde volume kunnen plaatsen, maar het resultaat daarvan zijn meerdere volledig gescheiden databases. - bron

Kan ik meerdere containers uitvoeren die verbinden naar een enkele mysql-databasecontainer?

Ja, het is mogelijk om meerdere containers toe te staan ​​verbinding te maken met een enkele databasecontainer, maar niet door volumes te delen. Container Z zal de mysql-daemon uitvoeren en andere containers kunnen er verbinding mee maken via tcp-sockets. De officiële mysql-repo readme heeft stappen om te beginnen:

Start eerst Container Z.

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

Voer vervolgens andere containers die u met de database wilt verbinden, uit met zoiets als dit:

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

Documenten voor de --link vlag . Het koppelen van containers voegt een hostbestandsvermelding toe voor de linkalias, zodat u het adres niet handmatig hoeft te vinden. De databaseconfiguratie van uw webserver ziet er ongeveer zo uit

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

Ik hoop dat dit helpt.




  1. Wat gebeurt er met de primaire sleutel-ID als deze de limiet overschrijdt?

  2. Een procedure maken in mySql met parameters

  3. VOEG WAARDEN IN WAAR NIET BESTAAT

  4. Bereken de leeftijd in jaren in PostgreSQL