Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Possível executar duas instâncias de contêineres docker em um contêiner de banco de dados mysql?


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.