Espero que uma dessas interpretações esteja correta.
Posso executar vários daemons mysql em diferentes contêineres que compartilham um único volume de dados?
Não, cada daemon precisa de um diretório de dados separado para evitar conflitos. Você pode colocar vários diretórios de dados no volume compartilhado, mas o resultado disso são vários bancos de dados completamente separados. - fonte
Posso executar vários contêineres que conectam para um único contêiner de banco de dados mysql?
Sim, é possível permitir que vários contêineres se conectem a um único contêiner de banco de dados, mas não compartilhando volumes. O Container Z executará o daemon mysql e outros containers podem se conectar a ele via sockets tcp. O repositório oficial do mysql readme tem etapas para começar:
Primeiro inicie o Contêiner Z.
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
Em seguida, execute outros contêineres que você deseja conectar ao banco de dados com algo assim:
docker run --name webservera --link some-mysql:mysql -d application-that-uses-mysql
Documentos para o
--link
bandeira
. A vinculação de contêiner adiciona uma entrada de arquivo de host para o alias do link para que você não precise encontrar o endereço manualmente. A configuração do banco de dados do seu servidor web seria algo assim jdbc:mysql://address=(protocol=tcp)(host=mysql)(port=3306)(user=root)(password=mysecretpassword)
Eu espero que isso ajude.