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.