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

456
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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