version: '3.8' services: redis: image: redis:7-alpine container_name: redis-server ports: - "6379:6379" volumes: - redis-data:/data networks: - app-network healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 3 restart: unless-stopped microservice: build: context: . dockerfile: Dockerfile container_name: rust-microservice ports: - "8080:8080" environment: - REDIS_URL=redis://redis:6379 - RUST_LOG=info depends_on: redis: condition: service_healthy networks: - app-network restart: unless-stopped networks: app-network: driver: bridge volumes: redis-data: driver: local