Fix: Registry-Login über Host-Port 5000
- Testet jetzt zuerst direkten Host-Zugriff über Port 5000 (HTTP) - Findet automatisch Gateway-IP des Docker-Netzwerks - Testet host.docker.internal für Docker Host - Da docker-dind in isoliertem Netzwerk läuft, muss Host direkt erreicht werden
This commit is contained in:
@@ -220,33 +220,51 @@ jobs:
|
|||||||
echo ""
|
echo ""
|
||||||
echo "🔍 Teste Registry: $TEST_URL"
|
echo "🔍 Teste Registry: $TEST_URL"
|
||||||
|
|
||||||
# Teste HTTPS
|
# Wenn URL bereits Port enthält, teste direkt
|
||||||
if curl -k -s -f -o /dev/null "https://$TEST_URL/v2/" 2>/dev/null; then
|
if [[ "$TEST_URL" == *":5000" ]]; then
|
||||||
echo "✅ Registry erreichbar über HTTPS: https://$TEST_URL"
|
# Direkter HTTP-Zugriff (Port bereits in URL)
|
||||||
|
if curl -s -f -o /dev/null "http://$TEST_URL/v2/" 2>/dev/null; then
|
||||||
# Versuche Login
|
echo "✅ Registry erreichbar über HTTP: http://$TEST_URL"
|
||||||
if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL" -u "$REGISTRY_USER" --password-stdin 2>&1; then
|
|
||||||
echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL"
|
# Versuche Login mit HTTP (ohne :5000 nochmal hinzuzufügen)
|
||||||
REGISTRY_URL="$TEST_URL"
|
if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL" -u "$REGISTRY_USER" --password-stdin 2>&1; then
|
||||||
LOGIN_SUCCESS=true
|
echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL"
|
||||||
break
|
REGISTRY_URL="$TEST_URL"
|
||||||
else
|
LOGIN_SUCCESS=true
|
||||||
echo "⚠️ Login fehlgeschlagen für $TEST_URL, versuche nächste URL..."
|
break
|
||||||
|
else
|
||||||
|
echo "⚠️ Login fehlgeschlagen für $TEST_URL, versuche nächste URL..."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Teste HTTPS zuerst
|
||||||
|
if curl -k -s -f -o /dev/null "https://$TEST_URL/v2/" 2>/dev/null; then
|
||||||
|
echo "✅ Registry erreichbar über HTTPS: https://$TEST_URL"
|
||||||
|
|
||||||
|
# Versuche Login
|
||||||
|
if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL" -u "$REGISTRY_USER" --password-stdin 2>&1; then
|
||||||
|
echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL"
|
||||||
|
REGISTRY_URL="$TEST_URL"
|
||||||
|
LOGIN_SUCCESS=true
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "⚠️ Login fehlgeschlagen für $TEST_URL, versuche HTTP..."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
# Teste HTTP (falls HTTPS nicht funktioniert)
|
|
||||||
if curl -s -f -o /dev/null "http://$TEST_URL:5000/v2/" 2>/dev/null; then
|
|
||||||
echo "✅ Registry erreichbar über HTTP: http://$TEST_URL:5000"
|
|
||||||
|
|
||||||
# Versuche Login mit HTTP
|
# Teste HTTP (falls HTTPS nicht funktioniert)
|
||||||
if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL:5000" -u "$REGISTRY_USER" --password-stdin 2>&1; then
|
if curl -s -f -o /dev/null "http://$TEST_URL:5000/v2/" 2>/dev/null; then
|
||||||
echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL:5000"
|
echo "✅ Registry erreichbar über HTTP: http://$TEST_URL:5000"
|
||||||
REGISTRY_URL="$TEST_URL:5000"
|
|
||||||
LOGIN_SUCCESS=true
|
# Versuche Login mit HTTP
|
||||||
break
|
if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL:5000" -u "$REGISTRY_USER" --password-stdin 2>&1; then
|
||||||
else
|
echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL:5000"
|
||||||
echo "⚠️ Login fehlgeschlagen für $TEST_URL:5000, versuche nächste URL..."
|
REGISTRY_URL="$TEST_URL:5000"
|
||||||
|
LOGIN_SUCCESS=true
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "⚠️ Login fehlgeschlagen für $TEST_URL:5000, versuche nächste URL..."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user