L'accès à mysql récipient dans un autre récipient
J'ai d'installation de docker récipient avec mysql qui exposent 3306.
J'ai précisé utilisateur de base de données, base de données de mot de passe et créer un essai db et de donner des privilèges à un utilisateur.
Dans un autre récipient, je veux accesso à cette db.
J'ai donc mis en place un nouveau conteneur avec un simple script php qui créer une table dans cette base.
Je sais que mysql contenant l'ip est 172.17.0.2 afin de :
$mysqli = new mysqli("172.17.0.2", "mattia", "prova", "prova");
Que d'utiliser mysqli-je créer un nouveau tableau et tous fonctionne bien.
Mais je pense que se connecter à conteneur à l'aide de son adresse ip n'est pas bonne.
Est-il une autre façon de spécifier la db de l'hôte? J'ai essayé avec le nom d'hôte de la base de données mysql contenant, mais il se complique pas de travail.
OriginalL'auteur Isky | 2016-02-16
Vous devez vous connecter pour publier un commentaire.
Vous devez lier vos conteneurs docker avec --lien de drapeau dans le panneau de commande d'exécution ou en utilisant la fonctionnalité de lien dans le menu fixe-composer. Par exemple:
De cette façon, docker va ajouter l'adresse IP de la base de données mysql contenant dans le fichier /etc/hosts de votre conteneur de l'application.
Pour un document complet se référer à:
MySQL Conteneurs Docker: Comprendre les bases de la
OriginalL'auteur sara
La
--link
drapeau est considéré comme un héritage de la fonctionnalité, vous devez utiliser défini par l'utilisateur des réseaux.Vous pouvez exécuter à la fois des conteneurs sur le même réseau:
Chaque conteneur sur ce réseau sera en mesure de communiquer les uns avec les autres en utilisant le nom de conteneur comme nom d'hôte.
OriginalL'auteur Tiago C
Dans votre menu fixe-composer.fichier yml ajouter un lien à votre serveur web service:
https://docs.docker.com/compose/networking/#links
Puis dans votre chaîne de requête, l'hôte de la valeur du paramètre est à votre service de base de données nom:
OriginalL'auteur TvC