xpeditis2.0/FIX_DOCKER_PROXY.md
David 6e3191b50e
All checks were successful
CI/CD Pipeline / Backend - Build, Test & Push (push) Successful in 5m45s
CI/CD Pipeline / Frontend - Build, Test & Push (push) Successful in 28m26s
CI/CD Pipeline / Integration Tests (push) Has been skipped
CI/CD Pipeline / Deployment Summary (push) Successful in 1s
CI/CD Pipeline / Deploy to Portainer (push) Successful in 14s
CI/CD Pipeline / Discord Notification (Failure) (push) Has been skipped
CI/CD Pipeline / Discord Notification (Success) (push) Successful in 1s
fix ci/cd and docker
2025-11-20 00:12:01 +01:00

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

  1. Ouvrir Docker Desktop
  2. Settings (⚙️)ResourcesProxies
  3. Décocher "Manual proxy configuration" ou mettre en "No proxy"
  4. 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

  1. Settings (⚙️)ResourcesProxies
  2. 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
    
  3. 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.cloud au 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