Speriamo che una di queste interpretazioni sia corretta.
Posso eseguire più demoni mysql in contenitori diversi che condividono tutti un unico volume di dati?
No, ogni demone ha bisogno di una directory di dati separata per evitare conflitti. È possibile inserire più directory di dati nel volume condiviso, ma il risultato è più database completamente separati. - fonte
Posso eseguire più container che connettono in un singolo contenitore di database MySQL?
Sì, è possibile consentire a più contenitori di connettersi a un singolo contenitore di database, ma non condividendo i volumi. Il contenitore Z eseguirà il demone mysql e altri contenitori possono connettersi ad esso tramite socket TCP. Il repo ufficiale di mysql readme ha i passaggi per iniziare:
Per prima cosa avvia Container Z.
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
Quindi esegui altri contenitori che desideri connettere al database con qualcosa di simile a questo:
docker run --name webservera --link some-mysql:mysql -d application-that-uses-mysql
Documenti per il --link
bandiera
. Il collegamento del contenitore aggiunge una voce del file host per l'alias del collegamento in modo da non dover trovare l'indirizzo manualmente. La configurazione del database del tuo server web sarebbe simile a questa
jdbc:mysql://address=(protocol=tcp)(host=mysql)(port=3306)(user=root)(password=mysecretpassword)
Spero che questo aiuti.