Bueno, me gustaría probar Discourse, así que lo estoy instalando mediante Docker, pero obtengo este error. De hecho, al buscar veo que mucha gente tiene este mismo error, pero no logro averiguar cómo solucionarlo.
starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (7336c875bdf9e3f18f08ca0af0a5aad10181ba37508f92c68f87a75637c56583): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
Error: failed to start containers: app
Ya he configurado esto en /opt/discourse/containers/app.yml:
expose:
“8880:80” # http
“8443:443” # https
Es un servidor web donde tengo un sitio funcionando con Apache y HTTPS, así que sí, el puerto 443 ya está en uso. Pero si he configurado app.yml para mapear el puerto 443 al 8443, ¿por qué sigo obteniendo este error?
He visto ese documento, pero ¿no debería cambiar app.yml tener un efecto en los puertos utilizados, o se ignora? Discourse es la primera aplicación que pruebo con algún tipo de puerto “codificado” que no puedo cambiar.
Realmente no me gusta colocar otro software entre mis clientes y mi sitio web, que está funcionando perfectamente. Preferiría mapear un subdominio en Apache hacia Discourse.
¿Y qué pasa si obtengo otra aplicación que se comporte así y esté obligada a ejecutarse en el puerto 443?
Sí, pero debes ejecutar ./launcher rebuild app (o tal vez ./launcher destroy app; ./launcher start app). Mi suposición es que simplemente editaste el archivo y luego reiniciaste el contenedor que ya tenía los puertos configurados.