fix: use separate docker ps calls to remove containers by name prefix
Multiple --filter name= flags are ANDed in docker ps, so combining route_commerce_ and route-commerce- in one call matched nothing and left db/minio running. Split into two calls, dedup with sort -u. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -42,17 +42,21 @@ jobs:
|
||||
|
||||
# Hard-stop the previous stack by name — works even if docker-compose.yml
|
||||
# is missing or stale from a prior failed deploy.
|
||||
docker ps -aq --filter "name=route_commerce_" --filter "name=route-commerce-" | xargs -r docker rm -f 2>/dev/null || true
|
||||
docker compose -f $APP_DIR/docker-compose.yml down --remove-orphans 2>/dev/null || true
|
||||
# Remove the network explicitly so Docker allocates a fresh subnet.
|
||||
# Note: multiple --filter name= flags are ANDed; use two separate calls.
|
||||
{
|
||||
docker ps -aq --filter "name=route_commerce_"
|
||||
docker ps -aq --filter "name=route-commerce-"
|
||||
} | sort -u | xargs -r docker rm -f
|
||||
# Network can only be removed after all containers are detached.
|
||||
docker network rm route-commerce_default 2>/dev/null || true
|
||||
sleep 3
|
||||
sleep 2
|
||||
|
||||
# Verify all route-commerce containers are gone before picking a port.
|
||||
REMAINING=$(docker ps -aq --filter "name=route_commerce_" --filter "name=route-commerce-" | wc -l)
|
||||
REMAINING=$({ docker ps -aq --filter "name=route_commerce_"; docker ps -aq --filter "name=route-commerce-"; } | sort -u | wc -l)
|
||||
if [ "$REMAINING" -gt 0 ]; then
|
||||
echo "ERROR: $REMAINING route-commerce container(s) still running after teardown"
|
||||
docker ps --filter "name=route_commerce_" --filter "name=route-commerce-"
|
||||
docker ps --filter "name=route_commerce_"
|
||||
docker ps --filter "name=route-commerce-"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user