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 "🔍 Teste Registry: $TEST_URL"
|
||||
|
||||
# Teste HTTPS
|
||||
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 nächste URL..."
|
||||
# Wenn URL bereits Port enthält, teste direkt
|
||||
if [[ "$TEST_URL" == *":5000" ]]; then
|
||||
# Direkter HTTP-Zugriff (Port bereits in URL)
|
||||
if curl -s -f -o /dev/null "http://$TEST_URL/v2/" 2>/dev/null; then
|
||||
echo "✅ Registry erreichbar über HTTP: http://$TEST_URL"
|
||||
|
||||
# Versuche Login mit HTTP (ohne :5000 nochmal hinzuzufügen)
|
||||
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 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
|
||||
|
||||
# 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
|
||||
if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL:5000" -u "$REGISTRY_USER" --password-stdin 2>&1; then
|
||||
echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL:5000"
|
||||
REGISTRY_URL="$TEST_URL:5000"
|
||||
LOGIN_SUCCESS=true
|
||||
break
|
||||
else
|
||||
echo "⚠️ Login fehlgeschlagen für $TEST_URL:5000, versuche nächste URL..."
|
||||
# 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
|
||||
if echo "$REGISTRY_PASSWORD" | docker login "$TEST_URL:5000" -u "$REGISTRY_USER" --password-stdin 2>&1; then
|
||||
echo "✅ Erfolgreich bei Registry angemeldet: $TEST_URL:5000"
|
||||
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
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user