Como arreglar “listen tcp 0.0.0.0:5000: bind: address already in use” en mac OS Monterey

Esto me ha pasado justo después de recibir un nuevo equipo, un MacBook Pro 2019 con sistema operativo Monterey.

Hasta ahora estaba desarrollando en local una API en Flask que lanzaba con este comando:

docker build --tag flask-docker-demo-app .  &&  docker run -p 5000:5000 flask-docker-demo-app

Cuando de repente, la terminal me responde que nanai:

docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:5000 -> 0.0.0.0:0: listen tcp 0.0.0.0:5000: bind: address already in use.

Insertar WTF aquí

Miro los puertos del equipo y efectivamente, hay alguien escuchando por esos puertos.

lsof -i tcp:5000

COMMAND     PID       USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ControlCe 19635 rubenortiz   16u  IPv4 0xa1782a6c1d6619ed      0t0  TCP *:commplex-main (LISTEN)
ControlCe 19635 rubenortiz   17u  IPv6 0xa1782a70e7e90975      0t0  TCP *:commplex-main (LISTEN)

Insertar segundo WTF aqui

Haciendo una búsqueda veo que hay más gente como yo con los WTF. Vamos a ver que es.

This is apparently due to the new AirPlay functionality. Control Center stops listening to those ports when I turn off “AirPlay Receiver” in the “Sharing” System Preference:

https://developer.apple.com/forums/thread/682332

Bueno, no voy a entrar mucho a explicar que es AirPlay sino básicamente comentar que desactivé esta opción y inmediatamente, el puerto 5000 volvió a estar libre.

# lsof -i tcp:5000
COMMAND     PID       USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ControlCe 19635 rubenortiz   16u  IPv4 0xa1782a6c1d6619ed      0t0  TCP *:commplex-main (LISTEN)
ControlCe 19635 rubenortiz   17u  IPv6 0xa1782a70e7e90975      0t0  TCP *:commplex-main (LISTEN)
# lsof -i tcp:5000
# ✗ 

Y para más problemas, mientras estoy escribiendo esto se me cae el WordPress!!!

Leave a Reply

Your email address will not be published. Required fields are marked *