Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

468
Vistas
¿La mejor manera de ejecutar dos aplicaciones docker compose detrás de nginx en una máquina host?

Tengo dos aplicaciones docker-compose:

  • a.com
  • b.com

Quiero ejecutarlos en la misma máquina host y colocar un proxy de contenedor nginx para enrutar las solicitudes entrantes a los servicios correctos dentro de cada una de las aplicaciones de docker-compose.

Creo que necesito tener un solo contenedor nginx que se ejecute por separado de las dos aplicaciones de composición de ventana acoplable. Anteriormente usé nginx-proxy , pero mi enrutamiento se volvió más complejo, por lo que quiero ejecutar mi propia instancia de nginx ahora.

  • No puedo averiguar cómo conectar en red las dos aplicaciones y el contenedor nginx para que todo esto funcione de manera sensata.
  • Cuando docker run el contenedor nginx, obtengo: host not found in upstream "MY_CONTAINER_HOST_NAME" , lo que sugiere que el nombre de host de mi aplicación no se resuelve desde el contenedor nginx.
  • Puedo publicar mi configuración de nginx si es necesario, pero esta es realmente una pregunta de mejores prácticas/redes de Docker.
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

nginx-proxy debería ser lo suficientemente bueno, siempre que sea compatible con una red adjunta de docker swarm ( problema 520 , aún pendiente)

También podría considerar vfarcic/docker-flow-proxy , una manera fácil de reconfigurar el proxy cada vez que se implementa un nuevo servicio o cuando se escala un servicio.

Consulte " Integración de proxy con Docker Swarm (Tour Around Docker 1.12 Series) " para ver un ejemplo concreto.

about 4 years ago · Santiago Trujillo Denunciar

0

Se me ocurren 2 opciones para esto:

Primero:

Ejecute ambas aplicaciones y nginx en la misma red definida por el usuario de docker. Para hacer esto, primero debe crear una red definida por el usuario:

 docker network create appnet

Luego, cambie sus archivos acoplables para usar la red de la aplicación como externa (las redes externas no crearán una red ni usarán la existente)

Segundo:

Cree 2 redes definidas por el usuario, denominadas appnet1 y appnet2, adjunte a.com a appnet1 y b.com a appnet2 marcadas como red externa en docker-compose. Luego abra el nginx y adjúntelo a appnet1 y appnet2.

Cuando docker ejecuto el contenedor nginx, obtengo: host not found in upstream "MY_CONTAINER_HOST_NAME", lo que sugiere que el nombre de host de mi aplicación no se resuelve desde el contenedor nginx.

Tenga en cuenta: las redes definidas por el usuario proporcionarán un DNS interno para que pueda llamar a los contenedores en la misma red por el nombre del contenedor.

Ejemplo de red externa:

Si desea que sus contenedores se unan a una red preexistente, use la opción externa:

 networks: default: external: name: my-pre-existing-network

En lugar de intentar crear una red llamada [nombre del proyecto]_default, Compose buscará una red llamada mi red preexistente y conectará los contenedores de su aplicación a ella.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda