|
|
|
@ -70,10 +70,26 @@ echo "" |
|
|
|
echo "Step 3: Cleaning up Docker images and build cache..." |
|
|
|
echo "----------------------------------------" |
|
|
|
|
|
|
|
# Remove dangling images (untagged images) |
|
|
|
# Remove dangling images (untagged images) before build |
|
|
|
echo "Removing dangling images..." |
|
|
|
docker image prune -f || true |
|
|
|
|
|
|
|
# Get project name from directory name or docker-compose |
|
|
|
PROJECT_NAME=$(basename "$SCRIPT_DIR" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]//g') |
|
|
|
if [ -z "$PROJECT_NAME" ] || [ "$PROJECT_NAME" = "site" ]; then |
|
|
|
PROJECT_NAME="site" |
|
|
|
fi |
|
|
|
|
|
|
|
# Try to remove old images with same name to avoid creating dangling images |
|
|
|
# Docker Compose creates images with format: <project>_<service> |
|
|
|
echo "Removing old images: ${PROJECT_NAME}_marketing-site" |
|
|
|
docker images --format "{{.Repository}}:{{.Tag}}" | grep -E "^${PROJECT_NAME}_marketing-site" | while read image; do |
|
|
|
if [ ! -z "$image" ]; then |
|
|
|
echo "Removing old image: $image" |
|
|
|
docker rmi "$image" 2>/dev/null || true |
|
|
|
fi |
|
|
|
done || true |
|
|
|
|
|
|
|
# Remove build cache to ensure fresh build |
|
|
|
echo "Removing build cache..." |
|
|
|
docker builder prune -f || true |
|
|
|
@ -87,6 +103,14 @@ echo "----------------------------------------" |
|
|
|
$DOCKER_COMPOSE -f docker-compose-https.yml build --no-cache |
|
|
|
$DOCKER_COMPOSE -f docker-compose-https.yml up -d |
|
|
|
|
|
|
|
echo "" |
|
|
|
echo "Step 4.5: Cleaning up dangling images after build..." |
|
|
|
echo "----------------------------------------" |
|
|
|
|
|
|
|
# Remove dangling images again after build (new images may have replaced old ones) |
|
|
|
echo "Removing dangling images created during build..." |
|
|
|
docker image prune -f || true |
|
|
|
|
|
|
|
echo "" |
|
|
|
echo "Step 5: Checking container status..." |
|
|
|
echo "----------------------------------------" |
|
|
|
|