2017-05-23 1 views
0

Je suis totalement nouveau à docker et a commencé hier à faire quelques tutoriels. Je veux construire une petite application de test composée de plusieurs services différents (répliqués et ainsi de suite) qui interagissent les uns avec les autres et qui rencontrent un problème de 'découverte de service'. J'ai commencé avec les tutoriels de démarrage sur docker.com et pour l'instant je ne suis pas vraiment sûr de ce qui est la meilleure pratique dans le monde de docker pour permettre aux différents conteneurs dans un réseau de se connaître ...pile de docker avec réseau de superposition et résolution de nom

Comme il s'agit d'une «description du problème» plutôt vague, j'essaie de la rendre plus précise. Je veux utiliser quelques services indépendants (par exemple avec des choses comme postgre, mongodb, redis et rabbitmq ...) avec un ensemble de nœuds de travail auxquels le travail est assigné par un nœud maître dédié. Comme cela semble très pratique, j'ai voulu utiliser un fichier docker-composer.yml pour définir tous mes services et les déployer en pile. En outre, j'ai créé un réseau personnalisé et comme il ne semble pas possible d'attacher un service empilé à un réseau de pont, j'ai créé un réseau de recouvrement attachable. Pour finalement arriver au point: même si les services sont déployés correctement, leur nom de conteneur réel est aléatoire et sans utiliser un peu de registre de service, je ne suis pas en mesure de résoudre leurs adresses. Une solution simple consisterait à utiliser des conteneurs uniques avec des noms de conteneur fixes. Toutefois, cela ne semble pas être une solution optimale (même s'il ne s'agit en fait que d'un DNS basé sur des noms de conteneur plutôt que des noms de domaine). Un autre problème sont les noms de conteneur générés au hasard qui contiennent des underscores, et par conséquent, ces noms ne sont pas des adresses valides qui peuvent être résolus ...

meilleures salutations

Répondre

0

Avez-vous regardé quelque chose comme Kubernetes? Pour citer à partir de la page d'accueil:

Il regroupe les conteneurs qui constituent une application en unités logiques pour faciliter la gestion et la découverte.

+0

merci pour votre réponse, mais j'ai juste compris que la solution est en réalité beaucoup plus simple ... on peut simplement utiliser le nom du service spécifié dans le fichier composer ... – user1583166