/usr/bin/docker: Error de respuesta del daemon: el controlador falló al programar la conectividad externa en el endpoint app

Hola a todos, llevo más de una semana atascado en esto. He leído todos los temas relevantes en Meta y probé todas las soluciones aquí y en otros lugares, pero nada funciona. Simplemente no tengo idea.

Cada vez que intento ./launcher rebuild app, el proceso llega hasta el final y luego…

Eliminando el contenedor antiguo
+ /usr/bin/docker rm app
app

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=bitkcor.com -e DISCOURSE_DEVELOPER_EMAILS=admin@bitkcor.com -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCOURSE_SMTP_PORT=2525 -e DISCOURSE_SMTP_USER_NAME=postmaster@bitkcor.com -e DISCOURSE_SMTP_PASSWORD=af3ce4432f9613e0b36545e5c1b941c6-c1fe131e-22e64a1e -e LETSENCRYPT_ACCOUNT_EMAIL=admin@bitkcor.com -h bitkcor-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:d6:ee:ff:fa:8d local_discourse/app /sbin/boot
2bef25314e87e6c0679ced8f3c04dd8a98808350baba7a4ff94a3e4c55dc5c20
/usr/bin/docker: Error response from daemon: driver failed programming external connectivity on endpoint app (095c02cba7ddee18c64f04ccd1043408aa8ffed8a3c560b8eeeea133c7abe6c6): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.

Pensé que la solución tendría que ser sencilla, pero no logro encontrarla.

¿Alguien sabe la respuesta?

1 me gusta

Algo está bloqueando el puerto 80, lo que significa que hay algún tipo de servidor web.

2 Me gusta

Gracias, Jeff. Leí tu comentario en un hilo sobre esto de 2015, más temprano hoy. ¿Hay algún comando de terminal para rastrear qué lo está usando?

Probé sudo lsof -i :80 y obtuve:

COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   3336     root    6u  IPv4  21408      0t0  TCP *:http (LISTEN)
nginx   3336     root    7u  IPv6  21409      0t0  TCP *:http (LISTEN)
nginx   3338 www-data    6u  IPv4  21408      0t0  TCP *:http (LISTEN)
nginx   3338 www-data    7u  IPv6  21409      0t0  TCP *:http (LISTEN)
nginx   3339 www-data    6u  IPv4  21408      0t0  TCP *:http (LISTEN)
nginx   3339 www-data    7u  IPv6  21409      0t0  TCP *:http (LISTEN)
1 me gusta

Vale, lo estaba haciendo mal. Salí de root y ejecuté sudo lsof -i :80 de nuevo. Todavía estoy tratando de averiguar qué es esto, pero es un avance.

COMMAND   PID        USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Google    671 triberocket   30u  IPv4 0x1e729b312ca69e05      0t0  TCP 10.0.0.237:56713->server-13-249-71-64.dfw53.r.cloudfront.net:http (ESTABLISHED)
Google    671 triberocket   58u  IPv4 0x1e729b311af72ba5      0t0  TCP 10.0.0.237:56714->server-13-249-71-64.dfw53.r.cloudfront.net:http (ESTABLISHED)
1 me gusta

Ahora estoy completamente confundido. Usé el Monitor de Actividad y ordené por Puerto. Una aplicación llamada Google Drive File Stream que acabo de descargar estaba configurada para usar el puerto 80. La aplicación era extraña, así que la eliminé por completo y vacié la papelera. Tan pronto como cerré la aplicación de Google, algo llamado ContactAccountsServices apareció en el Monitor de Actividad. Lo cerré y reinicié completamente la computadora.

La computadora se reinició. Descubrí que lo que llamé Google arriba eran dos pestañas en Chrome. Cerré Chrome y ejecuté ./launcher rebuild app. Después del reinicio, me conecté mediante ssh root@... y ejecuté system reboot en el servidor Ubuntu. Eso pareció hacer algo, pero nunca debes emocionarte demasiado. Así que volví y, para resumir la historia larga:

2020-04-10 22:38:39.934 UTC [49] LOG: aborting any active transactions

2020-04-10 22:38:39.937 UTC [49] LOG: worker process: logical replication launcher (PID 58) exited with exit code 1

2020-04-10 22:38:39.939 UTC [53] LOG: shutting down

166:M 10 Apr 2020 22:38:39.942 # User requested shutdown...

166:M 10 Apr 2020 22:38:39.942 * Saving the final RDB snapshot before exiting.

2020-04-10 22:38:39.964 UTC [49] LOG: database system is shut down

166:M 10 Apr 2020 22:38:39.978 * DB saved on disk

166:M 10 Apr 2020 22:38:39.978 # Redis is now ready to exit, bye bye...

sha256:ab0f0c30c7e98b280832fc0355cd0a3eada6063b268b8ae1371e9d315b0ca43e

293cf39b9377bfd9dda6a0e3b9d43bde3e6dcc8341d34d9da21a155f18afb45c

Removing old container

+ /usr/bin/docker rm app

app

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=bitkcor.com -e DISCOURSE_DEVELOPER_EMAILS=admin@bitkcor.com -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCOURSE_SMTP_PORT=2525 -e DISCOURSE_SMTP_USER_NAME=postmaster@bitkcor.com -e DISCOURSE_SMTP_PASSWORD=af3ce4432f9613e0b36545e5c1b941c6-c1fe131e-22e64a1e -e LETSENCRYPT_ACCOUNT_EMAIL=admin@bitkcor.com -h bitkcor-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:d6:ee:ff:fa:8d local_discourse/app /sbin/boot

b2076d8166130c73c7d988e7e51ac100b9a12ce75f020328d0f47eebdad5e9a3

/usr/bin/docker: Error response from daemon: driver failed programming external connectivity on endpoint app (ba1f594a24e17f29cdaeb0cfe3f2a79af2bb7d22a28c4902c97d37e8f5036347): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.

Bueno, sí. Estoy listo para ponerme faldas de hierba y huesos de pollo para depurar esto. Es algo de vudú que debe ser algo simple que tengo justo frente a mis ojos pero que no he intentado. ¿Qué es eso? No puedo decírtelo. ¿Puedes decírmelo tú? Por favor. Mi cordura está en juego. Soy mejor que esto. lol

2 Me gusta

Prueba sudo systemctl stop nginx.

4 Me gusta

Se eliminó la página de bienvenida de nginx, pero ahora no carga nada — https://bitkcor.com/

¿Sigues mirando una página en blanco? ¿Necesito reiniciar algo ahora? ¿Alguna sugerencia?

En realidad, simplemente vuelve a configurar SSL como estricto en Cloudflare y todo se restauró.

sudo systemctl stop nginx fue la solución.

¡Gracias @riking!

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.