Docker se da cuenta de la interconexión de contenedores

Docker se da cuenta de la interconexión de contenedores

fondo de escritura:

  1. Cuando jugaba con Docker, no podía distinguir la relación entre el puerto del host y el puerto del contenedor, por lo que la conexión falló. Al final, me tomó mucho tiempo aprender a comprender, así que escribí este artículo para grabar mi crecimiento

Clave de conexión:

  1. Los contenedores conectados entre sí deben estar en la misma red. Como docker-compose.ymlestablece el mismo networksvalor
  2. Acceso entre contenedores, utilizando el puerto propio del contenedor

Experiencia personal:

  1. La máquina host se laradockinstala gitlabcon el jenkinscontenedor. Host a través de http://localhost:8989un acceso normal gitlabde la webpágina de http://localhost:8090acceso normal jenkinsde webla página
  2. Me gustaría jenkinsno tener acceso a gitlabla página, y luego http://localhost:8989el localhostinterruptor para 127.0.0.1, contenedor IP, nombre del contenedor, pero no todas las conexiones estén
  3. Luego, después de NN horas de revisar la información y las pruebas, finalmente se descubrió que el acceso mutuo entre contenedores se basaba en la misma red y luego se accedía a través de los puertos abiertos del propio contenedor, lo que no tenía nada que ver con el mapeo.
  4. Por lo tanto, en la docker-compose.ymlconfiguración en el perfil gitlabdel jenkinscontenedor networkses el mismo valor, se establecen enbackend
  networks:
    - backend
  1. Finalmente jenkinspase al interior http://gitlabpara acceder. URLLos que están dentro gitlabse analizarán en gitlabcontenedores IP. El 8989puerto no se usa aquí porque gitlabla webpágina está en el 80puerto del contenedor.

Supongo que te gusta

Origin blog.csdn.net/DBCai/article/details/115273778
Recomendado
Clasificación