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
|
||||
fi
|
||||
|
||||
# Deploy with compose (without --build since we already built the image)
|
||||
# Network connection during compose can transiently fail on Docker 24;
|
||||
# we catch it and connect networks manually below.
|
||||
docker compose -f docker-compose.dev.yml -p nas-dashboard-dev up -d --pull never || true
|
||||
# Create compose override that strips networks (Docker 24 compose
|
||||
# fails to create the container when it can't connect networks).
|
||||
# We connect networks manually after container creation.
|
||||
cat > /tmp/docker-compose.ci-override.yml << YAMLEOF
|
||||
services:
|
||||
dashboard-dev:
|
||||
networks: []
|
||||
networks: {}
|
||||
YAMLEOF
|
||||
|
||||
# Verify the container exists before proceeding
|
||||
if ! docker inspect nas-dashboard-dev >/dev/null 2>&1; then
|
||||
echo "❌ Container was not created by compose"
|
||||
exit 1
|
||||
fi
|
||||
# Deploy without networks in compose
|
||||
docker compose -f docker-compose.dev.yml -f /tmp/docker-compose.ci-override.yml -p nas-dashboard-dev up -d --pull never
|
||||
|
||||
# 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 gitea_gitea nas-dashboard-dev 2>/dev/null || true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user