Docker réalise l'interconnexion de conteneurs

Docker réalise l'interconnexion de conteneurs

fond d'écriture:

  1. Lorsque je jouais avec Docker, je ne pouvais pas distinguer la relation entre le port hôte et le port conteneur, donc la connexion a échoué. En fin de compte, il a fallu beaucoup de temps pour apprendre à comprendre, j'ai donc écrit cet article pour enregistrer ma croissance

Clé de connexion:

  1. Les conteneurs connectés les uns aux autres doivent être sur le même réseau. Comme docker-compose.ymldéfini la même networksvaleur
  2. Accès entre les conteneurs, en utilisant le propre port du conteneur

Expérience personnelle:

  1. La machine hôte est laradockinstallée gitlabavec le jenkinsconteneur. Hôte via un http://localhost:8989accès normal à gitlabla webpage en http://localhost:8090accès normal jenkinsde la webpage
  2. Je voudrais jenkinsy accéder gitlabla page, puis http://localhost:8989le localhostpassage à 127.0.0.1, conteneur IP, nom du conteneur, mais toutes les connexions sont pas
  3. Ensuite, après NN heures de revue des informations et de tests, il a finalement été constaté que l'accès mutuel entre les conteneurs était basé sur le même réseau, puis accessible via les ports ouverts du conteneur lui-même, ce qui n'avait rien à voir avec le mappage.
  4. Ainsi, dans les docker-compose.ymlparamètres dans le profil gitlabdu jenkinsconteneur networksest la même valeur, sont définis surbackend
  networks:
    - backend
  1. Passez enfin jenkinsà l'intérieur http://gitlabpour y accéder. URLCeux dans gitlabseront analysés dans des gitlabconteneurs IP. Le 8989port n'est pas utilisé ici car gitlabla webpage est sur le 80port du conteneur

Je suppose que tu aimes

Origine blog.csdn.net/DBCai/article/details/115273778
conseillé
Classement