fix: bypass Docker 24 compose network bug via override file
Docker 24.0.2 compose fails to create containers when it can't connect external networks. Strip network configs from compose and connect them manually after container creation. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -235,18 +235,20 @@ jobs:
|
|||||||
docker network create nas-dashboard_internal
|
docker network create nas-dashboard_internal
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Deploy with compose (without --build since we already built the image)
|
# Create compose override that strips networks (Docker 24 compose
|
||||||
# Network connection during compose can transiently fail on Docker 24;
|
# fails to create the container when it can't connect networks).
|
||||||
# we catch it and connect networks manually below.
|
# We connect networks manually after container creation.
|
||||||
docker compose -f docker-compose.dev.yml -p nas-dashboard-dev up -d --pull never || true
|
cat > /tmp/docker-compose.ci-override.yml << YAMLEOF
|
||||||
|
services:
|
||||||
|
dashboard-dev:
|
||||||
|
networks: []
|
||||||
|
networks: {}
|
||||||
|
YAMLEOF
|
||||||
|
|
||||||
# Verify the container exists before proceeding
|
# Deploy without networks in compose
|
||||||
if ! docker inspect nas-dashboard-dev >/dev/null 2>&1; then
|
docker compose -f docker-compose.dev.yml -f /tmp/docker-compose.ci-override.yml -p nas-dashboard-dev up -d --pull never
|
||||||
echo "❌ Container was not created by compose"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Manually connect to networks (idempotent, handles compose failure)
|
# Manually connect to networks after container is created
|
||||||
docker network connect nas-dashboard_internal nas-dashboard-dev 2>/dev/null || true
|
docker network connect nas-dashboard_internal nas-dashboard-dev 2>/dev/null || true
|
||||||
docker network connect gitea_gitea nas-dashboard-dev 2>/dev/null || true
|
docker network connect gitea_gitea nas-dashboard-dev 2>/dev/null || true
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user