Bonjour,
Parfois, lorsque je procède à des mises à jour via l’interface web, Discourse m’indique d’exécuter :
cd /var/discourse
git pull
./launcher rebuild app
Comme le processus de rebuild se connecte plusieurs fois à GitHub, et que GitHub est partiellement bloqué en Chine, où mon serveur est hébergé, je dois configurer un proxy HTTP/HTTPS pour mieux accéder à GitHub. Voici une comparaison entre la visite de YouTube sans proxy et avec 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]
Cependant, lorsque j’exécute ./launcher rebuild image, le script entre dans l’application et effectue toutes les opérations à l’intérieur de Docker, où l’environnement réseau diffère de celui de l’hôte avec proxy. Je ne peux donc pas accéder à YouTube, ce qui entraîne l’échec du rebuild la plupart du temps.
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.
Ma question est la suivante : que puis-je faire pour utiliser le proxy de l’hôte à l’intérieur de Docker, en particulier lors de l’exécution de ./launcher rebuild app ?