Hola,
A veces, al realizar actualizaciones a través de la interfaz web, Discourse me indica que ejecute:
cd /var/discourse
git pull
./launcher rebuild app
Dado que el proceso de rebuild se conecta varias veces a GitHub y este está parcialmente bloqueado en China, donde está alojado mi servidor, debo configurar un proxy HTTP/HTTPS para acceder mejor a GitHub. Aquí hay una comparación entre visitar YouTube sin proxy y con proxy:
root@iosre:/var/discourse# wget https://youtube.com
--2021-06-10 23:55:05-- https://youtube.com/
Resolving youtube.com (youtube.com)... 66.220.152.17, 2001::3d6f:fadc
Connecting to youtube.com (youtube.com)|66.220.152.17|:443... ^C
root@iosre:/var/discourse# export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7891
root@iosre:/var/discourse# wget https://youtube.com
--2021-06-10 23:56:12-- https://youtube.com/
Connecting to 127.0.0.1:7890... connected.
Proxy request sent, awaiting response... 301 Moved Permanently
Location: https://www.youtube.com/ [following]
--2021-06-10 23:56:13-- https://www.youtube.com/
Connecting to 127.0.0.1:7890... connected.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’
index.html [ <= ] 510.58K 813KB/s in 0.6s
2021-06-10 23:56:14 (813 KB/s) - ‘index.html’ saved [522830]
Sin embargo, cuando ejecuto ./launcher rebuild image, el script entra en la aplicación y realiza todas las operaciones dentro de Docker, donde el entorno de red es diferente al del host con proxy, y no puedo acceder a YouTube, por lo que la reconstrucción falla la mayoría de las veces.
root@iosre:/var/discourse# ./launcher enter app
root@iosre-app:/var/www/discourse# wget https://youtube.com
--2021-06-10 15:59:57-- https://youtube.com/
Resolving youtube.com (youtube.com)... 69.171.248.128, 2001::d238:33c1
Connecting to youtube.com (youtube.com)|69.171.248.128|:443... ^C
root@iosre-app:/var/www/discourse# export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7891
root@iosre-app:/var/www/discourse# wget https://youtube.com
--2021-06-10 16:00:10-- https://youtube.com/
Connecting to 127.0.0.1:7890... failed: Connection refused.
Mi pregunta es: ¿qué puedo hacer para aprovechar el proxy del host dentro de Docker, especialmente en ./launcher rebuild app?