4.3 KiB
🔧 Fix Docker Proxy Timeout
🚨 Problème Identifié
Docker est configuré avec un proxy qui timeout lors du push vers Scaleway :
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
Erreur lors du push :
proxyconnect tcp: dial tcp 192.168.65.1:3128: i/o timeout
✅ Solution 1 : Désactiver le Proxy (Recommandé)
Sur Docker Desktop for Mac
- Ouvrir Docker Desktop
- Settings (⚙️) → Resources → Proxies
- Décocher "Manual proxy configuration" ou mettre en "No proxy"
- Apply & Restart
Vérification
# Après redémarrage Docker
docker info | grep -i proxy
# Devrait afficher "No Proxy" ou rien
✅ Solution 2 : Ajouter Scaleway au No Proxy
Si vous avez besoin du proxy pour d'autres registries :
Sur Docker Desktop for Mac
- Settings (⚙️) → Resources → Proxies
- Dans "Bypass for these hosts & domains", ajouter :
*.scw.cloud rg.fr-par.scw.cloud scw-reg-prd-fr-par-distribution.s3.fr-par.scw.cloud - Apply & Restart
✅ Solution 3 : Configuration Manuelle (Avancé)
Éditer le fichier de config Docker daemon
Fichier : ~/.docker/daemon.json (créer si inexistant)
{
"proxies": {
"http-proxy": "",
"https-proxy": "",
"no-proxy": "*.scw.cloud,*.docker.internal,localhost,127.0.0.1"
}
}
Redémarrer Docker :
# Via Docker Desktop menu → Restart
# Ou kill/restart le daemon
🧪 Test de la Solution
# 1. Vérifier que le proxy est désactivé ou contourne Scaleway
docker info | grep -i proxy
# 2. Essayer un push de test
docker tag xpeditis20-backend:latest rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:test
docker push rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:test
# Devrait afficher :
# ✅ Pushed
# ✅ test: digest: sha256:... size: ...
🔍 Comprendre le Problème
Le proxy http.docker.internal:3128 était configuré mais :
- ❌ Ne répond pas (timeout)
- ❌ Bloque l'accès à Scaleway S3 (
scw-reg-prd-fr-par-distribution.s3.fr-par.scw.cloud) - ❌ Cause des timeouts I/O lors du push des layers Docker
Symptômes :
15826890db13: Pushed ✅ Layer pousse OK
1ea93cfbb3c8: Pushed ✅ Layer pousse OK
...
Head "https://scw-reg-prd-fr-par-distribution.s3.fr-par.scw.cloud/...":
proxyconnect tcp: dial tcp 192.168.65.1:3128: i/o timeout ❌ Timeout au moment du manifest
Les layers individuels passent, mais le manifest final (HEAD request) timeout via le proxy.
📊 Comparaison
| Configuration | Résultat |
|---|---|
Proxy activé (http.docker.internal:3128) |
❌ Timeout vers Scaleway S3 |
| Proxy désactivé | ✅ Push direct vers Scaleway |
No Proxy avec *.scw.cloud |
✅ Bypass proxy pour Scaleway |
⚠️ Important pour CI/CD
GitHub Actions n'a PAS ce problème car les runners GitHub n'utilisent pas votre proxy local.
Donc :
- ❌ Push local peut échouer (proxy)
- ✅ CI/CD push fonctionnera (pas de proxy)
Recommandation : Désactiver le proxy localement pour le développement, ou laisser uniquement la CI/CD push les images.
🎯 Solution Rapide (Temporaire)
Si vous ne voulez pas toucher aux settings Docker :
# Désactiver proxy pour une commande
export HTTP_PROXY=""
export HTTPS_PROXY=""
export http_proxy=""
export https_proxy=""
docker push rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:preprod
Limitation : Ne fonctionne pas car le proxy est configuré au niveau du Docker daemon, pas au niveau de la session shell.
✅ Checklist de Fix
- Ouvrir Docker Desktop Settings
- Aller dans Resources → Proxies
- Désactiver "Manual proxy configuration" OU ajouter
*.scw.cloudau bypass - Apply & Restart Docker
- Vérifier :
docker info | grep -i proxy(devrait être vide) - Test push :
docker push rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:test - ✅ Si push réussit, problème résolu !
Date : 2025-11-19 Impact : 🔴 Critique - Bloque push local vers Scaleway Fix : ⚡ Rapide - 2 min via Docker Desktop settings