Mysql
 sql >> Base de données >  >> RDS >> Mysql

Possible d'exécuter deux instances de conteneurs docker sur un conteneur de base de données mysql ?

Espérons que l'une de ces interprétations est correcte.

Puis-je exécuter plusieurs démons mysql dans différents conteneurs qui partagent tous un même volume de données ?

Non, chaque démon a besoin d'un répertoire de données séparé pour éviter les conflits. Vous pouvez placer plusieurs répertoires de données dans le volume partagé, mais le résultat est plusieurs bases de données complètement séparées. - source

Puis-je exécuter plusieurs conteneurs qui se connectent ? à un seul conteneur de base de données mysql ?

Oui, il est possible d'autoriser plusieurs conteneurs à se connecter à un seul conteneur de base de données, mais pas en partageant des volumes. Le conteneur Z exécutera le démon mysql et d'autres conteneurs pourront s'y connecter via des sockets tcp. Le dépôt mysql officiel le fichier readme contient des étapes pour commencer :

Commencez par démarrer le conteneur Z.

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

Ensuite, exécutez d'autres conteneurs que vous souhaitez connecter à la base de données avec quelque chose comme ceci :

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

Documents pour le --link drapeau . La liaison de conteneur ajoute une entrée de fichier hôte pour l'alias de lien afin que vous n'ayez pas à rechercher l'adresse manuellement. La configuration de la base de données de votre serveur Web ressemblerait à ceci

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

J'espère que cela vous aidera.