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.