En la red personalizada de Docker: nginx en diferentes contenedores accede a proyectos PHP a través de nombres de contenedores.

Escenario: cada servicio tiene su propio conjunto de entorno de ejecución y cada uno tiene su propio nginx; utilizamos el proyecto Nginx del contenedor A para acceder al contenido del proyecto nginx en el contenedor B y en una red personalizada.

Primero podemos personalizar una red: puente predeterminado de Docker:

docker network create apollo_network

Luego ejecute su contenedor y especifique la red: (parámetro --network apollo_network)

Por ejemplo:

docker run -v E:\web\sheng\core\timetracker:/var/www/html -p 8181:8080 -d --network apollo_network --name apollo_core registry.git.asc-vision.de/sheng/apollo_core

docker run -v E:\web\sheng\tt\tm-timetracker:/var/www/html -p 8282:80 -d --network apollo_network --name apollo_timetracker_module  registry.git.asc-vision.de/sheng/apollo_timetracker_module

Luego accedo al segundo usando el primero:

¿Por qué grabar esto? Esto se debe a que se puede hacer ping al puerto predeterminado 80 de nginx que he estado usando antes cuando uso el nombre del contenedor o la IP, pero el archivo de entrada para mi proyecto PHP de configuración de nginx está en la ruta del archivo de proyecto predeterminado de nginx (var/www/html) Bajo público (índice); ocurrió una situación: al rizar el contenedor de la otra parte, siempre accedía al directorio raíz (var/www/html) y no accedía (var/www/html/public). La configuración de nginx parecía perderse No funcionó, así que resolví el problema cambiando el puerto.

configuración de nginx:

Pero hoy no encontré la razón por la cual el uso de 80 causó este problema...

Supongo que te gusta

Origin blog.csdn.net/wqzbxh/article/details/133301711
Recomendado
Clasificación