services: postgis-db: image: postgis/postgis:13-3.1 container_name: postgis-db environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: password POSTGRES_DB: streets_db networks: - DB-Network streets-1: build: context: . dockerfile: Dockerfile container_name: Streets-1 environment: ASPNETCORE_ENVIRONMENT: Production CONNECTION_STRING: "Host=postgis-db;Port=5432;Username=postgres;Password=password;Database=streets_db;" ports: - "5001:8080" depends_on: - postgis-db networks: - DB-Network streets-2: build: context: . dockerfile: Dockerfile container_name: Streets-2 environment: ASPNETCORE_ENVIRONMENT: Production CONNECTION_STRING: "Host=postgis-db;Port=5432;Username=postgres;Password=password;Database=streets_db;" ports: - "5002:8080" depends_on: - postgis-db networks: - DB-Network streets-3: build: context: . dockerfile: Dockerfile container_name: Streets-3 environment: ASPNETCORE_ENVIRONMENT: Production CONNECTION_STRING: "Host=postgis-db;Port=5432;Username=postgres;Password=password;Database=streets_db;" ports: - "5003:8080" depends_on: - postgis-db networks: - DB-Network migrate: image: mcr.microsoft.com/dotnet/sdk:9.0 working_dir: /streets volumes: - .:/streets entrypoint: ["sh", "-c", "dotnet tool install --global dotnet-ef && dotnet ef database update --project src/"] environment: PATH: "/root/.dotnet/tools:$PATH" CONNECTION_STRING: "Host=postgis-db;Port=5432;Username=postgres;Password=password;Database=streets_db;" depends_on: - postgis-db networks: - DB-Network restart: "no" networks: DB-Network: driver: bridge