docker

Sorcha uses Docker for local development and production deployment. Services run as Ubuntu Chiseled (distroless) containers with multi-stage builds. Docker Compose orchestrates the full stack with health checks, shared networks, and volume mounts for persistence.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "docker" with this command: npx skills add stuartf303/sorcha/stuartf303-sorcha-docker

Docker Skill

Sorcha uses Docker for local development and production deployment. Services run as Ubuntu Chiseled (distroless) containers with multi-stage builds. Docker Compose orchestrates the full stack with health checks, shared networks, and volume mounts for persistence.

Quick Start

Start Full Stack

Start all services with infrastructure

docker-compose up -d

View logs for specific service

docker-compose logs -f blueprint-service

Rebuild single service after code changes

docker-compose build blueprint-service && docker-compose up -d --force-recreate blueprint-service

Infrastructure Only (for Aspire development)

Start databases without application services

docker-compose -f docker-compose.infrastructure.yml up -d

Key Concepts

Concept Usage Example

Chiseled images Distroless for security mcr.microsoft.com/dotnet/aspnet:10.0-noble-chiseled

Multi-stage builds Separate build/runtime FROM sdk AS build → FROM aspnet AS final

YAML anchors Shared env config <<: [*otel-env, *jwt-env]

Health checks Startup dependencies condition: service_healthy

Bridge network Service DNS http://wallet-service:8080

Common Patterns

Service Definition with Dependencies

When: Adding a new microservice

my-service: build: context: . dockerfile: src/Services/Sorcha.MyService/Dockerfile image: sorcha/my-service:latest container_name: sorcha-my-service restart: unless-stopped environment: <<: [*otel-env, *jwt-env] OTEL_SERVICE_NAME: my-service ASPNETCORE_ENVIRONMENT: Development ASPNETCORE_URLS: http://+:8080 ConnectionStrings__Redis: redis:6379 volumes: - dataprotection-keys:/home/app/.aspnet/DataProtection-Keys depends_on: redis: condition: service_healthy networks: - sorcha-network

Multi-Stage Dockerfile

When: Creating Dockerfile for .NET service

FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /src COPY ["src/Services/Sorcha.MyService/Sorcha.MyService.csproj", "src/Services/Sorcha.MyService/"] RUN dotnet restore "src/Services/Sorcha.MyService/Sorcha.MyService.csproj" COPY src/ ./src/ RUN dotnet publish "src/Services/Sorcha.MyService/Sorcha.MyService.csproj" -c Release -o /app/publish

FROM mcr.microsoft.com/dotnet/aspnet:10.0-noble-chiseled AS final WORKDIR /app COPY --from=publish /app/publish . USER $APP_UID ENTRYPOINT ["dotnet", "Sorcha.MyService.dll"]

See Also

  • docker - Container patterns and anti-patterns

  • ci-cd - GitHub Actions workflows

  • deployment - Production deployment

  • monitoring - OpenTelemetry and Aspire Dashboard

Related Skills

  • See the aspire skill for .NET Aspire orchestration patterns

  • See the postgresql skill for database container configuration

  • See the mongodb skill for document database setup

  • See the redis skill for caching container patterns

  • See the yarp skill for API Gateway routing configuration

Documentation Resources

Fetch latest Docker documentation with Context7.

How to use Context7:

  • Use mcp__context7__resolve-library-id to search for "docker"

  • Prefer website documentation (IDs starting with /websites/ ) over source code repositories

  • Query with mcp__context7__query-docs using the resolved library ID

Library ID: /websites/docker (resolve using mcp__context7__resolve-library-id, prefer /websites/ when available)

Recommended Queries:

  • "docker compose health checks"

  • "multi-stage build best practices"

  • "docker networking bridge mode"

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

sorcha-cli

No summary provided by upstream source.

Repository SourceNeeds Review
General

entity-framework

No summary provided by upstream source.

Repository SourceNeeds Review
General

signalr

No summary provided by upstream source.

Repository SourceNeeds Review
General

scalar

No summary provided by upstream source.

Repository SourceNeeds Review