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

873
Vistas
cómo conectarse a localhost: 9092 desde el contenedor docker usando docker-compose y no usando el puente docker

Estoy ejecutando el servidor Kafka en mi máquina local en el puerto 9092. Estoy ejecutando un servicio en el contenedor docker usando docker-compose que necesita enviar un mensaje al servidor kafka.

Intenté escribir mi productor en el código de servicio usando 'localhost' e IP también, pero ambos no funcionan.

¿Alguien puede ayudarme a solucionar el problema?

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Con docker-componer:

Use la opción network_mode para permitir la conexión a los puertos del host local

 network_mode: "host"

Sin ventana acoplable-componer:

Use el indicador --net para permitir la conexión a los puertos de host local

 docker run -it --net=host

También puede usar --bandera de red

 --network="host"

Según la documentación oficial de Docker, estos "le dan al contenedor acceso total a los servicios del sistema local como D-bus y, por lo tanto, se consideran inseguros".

Por supuesto, si incluye su servicio en un contenedor que se ejecuta en localhost: 9092, entonces también podría ejecutarlo en un contenedor Docker y vincular sus dos contenedores Docker usando el indicador --link:

 docker run -t -d myService docker run -t -d --link myService:myService_ref myOtherService
about 4 years ago · Santiago Trujillo Denunciar

0

Puede corregir la dirección IP de su host y pasar esto a docker a través de docker-compose usando la opción 'extra_hosts':

Algo como:

 sudo ifconfig lo0 alias 172.16.123.1

Luego, en la ventana acoplable componer:

 extra_hosts: - "service.localhost:172.16.123.1"

Luego, dentro del contenedor, debería poder:

 ping service.localhost
about 4 years ago · Santiago Trujillo Denunciar

0

Conéctese desde el contenedor a la máquina local. Hacer alias de IP para localhost

 sudo ifconfig lo:0 172.18.1.1 up

Agregar a las líneas de servicio de configuración de docker-compose

 extra_hosts: - 'local.machine:172.18.1.1'

Y después de reiniciar el contenedor, se puede usar para conectarse

 'web-socket-server' => 'ws://172.18.1.1',
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