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:
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
Accès entre les conteneurs, en utilisant le propre port du conteneur
Expérience personnelle:
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
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
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.
Ainsi, dans les docker-compose.ymlparamètres dans le profil gitlabdu jenkinsconteneur networksest la même valeur, sont définis surbackend
networks:
- backend
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