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

455
Views
ZeroMQ falla al .bind() en Docker en [0.0.0.0:5555] - dirección que ya está en uso. ¿Por qué?

Tuve un pequeño problema con el socket ZeroMQ al intentar .bind() en la dirección 0.0.0.0:5555 , cuando intenté ejecutarlo en el contenedor Docker a través de Rancher Cattle.

Cada vez que intento ejecutarlo, obtengo el mismo error:

zmq.error.ZMQError: Dirección ya en uso.

Intenté hacer EXPOSE 5555 y EXPOSE 5555/tcp en mi Dockerfile, pero no me ayudó.

Aquí hay una parte de mi código:

 ... self.context = zmq.Context() self.socket = self.context.socket(zmq.PUB) self.socket.bind('tcp://%s:%d' % ('0.0.0.0', 5555)) ...

Tal vez alguien tuvo el mismo problema. ¿Cómo resolverlo?

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

La API de ZeroMQ define 3 caminos a seguir:

Asignación de una dirección local a un socket

Al asignar una dirección local a un socket usando zmq_bind() con el transporte tcp:// , el punto final se interpretará como una interfaz seguida de dos puntos y el número de puerto TCP a usar.

Una interfaz puede ser especificada por cualquiera de los siguientes:
- El comodín * , que significa todas las interfaces disponibles.
- La dirección IPv4 primaria asignada a la interfaz, en su representación numérica.
- El nombre de la interfaz tal como lo define el sistema operativo.

Los nombres de las interfaces no están estandarizados de ninguna manera y se debe suponer que son arbitrarios y dependen de la plataforma . En las plataformas Win32 no existen nombres de interfaz cortos, por lo que solo se puede usar la dirección IPv4 principal para especificar una interfaz.

Entonces, al menos uno debería hacer que el trabajo progrese.

about 4 years ago · Santiago Trujillo Report

0

Después de dos horas de depuración, traté de hacer .bind_to_random_port() y noté que mi aplicación en Docker se inicia a través de 4 trabajadores de Gunicorn . Entonces, después de que comenzó el primer trabajador, otros tres trabajadores no pueden vincularse al mismo puerto. Tenga en cuenta la vinculación a un solo puerto mientras tenga una aplicación de múltiples subprocesos o múltiples trabajadores.

about 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!