Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

881
Views
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?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

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
over 4 years ago · Santiago Trujillo Report

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
over 4 years ago · Santiago Trujillo Report

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',
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!