sql >> Base de Datos >  >> RDS >> Mysql

¿Es posible ejecutar dos instancias de contenedores docker en un contenedor de base de datos mysql?

Esperemos que una de estas interpretaciones sea la correcta.

¿Puedo ejecutar múltiples demonios mysql en diferentes contenedores que comparten un solo volumen de datos?

No, cada daemon necesita un directorio de datos separado para evitar conflictos. Puede colocar varios directorios de datos en el volumen compartido, pero el resultado son varias bases de datos completamente independientes. - fuente

¿Puedo ejecutar varios contenedores que conectan a un solo contenedor de base de datos mysql?

Sí, es posible permitir que varios contenedores se conecten a un solo contenedor de base de datos, pero no compartiendo volúmenes. El contenedor Z ejecutará el demonio mysql y otros contenedores pueden conectarse a él a través de sockets tcp. El repo oficial de mysql Léame tiene pasos para comenzar:

Primero inicie el Contenedor Z.

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

Luego ejecute otros contenedores que desee conectar a la base de datos con algo como esto:

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

Documentos para el --link bandera . La vinculación de contenedores agrega una entrada de archivo de host para el alias del vínculo para que no tenga que buscar la dirección manualmente. La configuración de la base de datos de su servidor web se vería así

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

Espero que esto ayude.