From fa0c64bb8e0a324e1eee2b543ed42d743db563d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atakan=20=C3=96zceviz?= Date: Thu, 7 Feb 2019 14:10:15 +0100 Subject: [PATCH] Added docker-compose files --- .../docker-compose.migrations.yml | 17 +++ .../docker-compose.override.yml | 143 ++++++++++++++++++ samples/MicroserviceDemo/docker-compose.yml | 114 ++++++++++++++ 3 files changed, 274 insertions(+) create mode 100644 samples/MicroserviceDemo/docker-compose.migrations.yml create mode 100644 samples/MicroserviceDemo/docker-compose.override.yml create mode 100644 samples/MicroserviceDemo/docker-compose.yml diff --git a/samples/MicroserviceDemo/docker-compose.migrations.yml b/samples/MicroserviceDemo/docker-compose.migrations.yml new file mode 100644 index 0000000000..8753be77e4 --- /dev/null +++ b/samples/MicroserviceDemo/docker-compose.migrations.yml @@ -0,0 +1,17 @@ +version: '3.0' + +services: + sqlserver: + environment: + - SA_PASSWORD=yourStrong(!)Password + - ACCEPT_EULA=Y + ports: + - "1433:1433" + + migrations: + image: 'microservice-demo/migrations:${TAG:-latest}' + build: + context: ../.. + dockerfile: samples/MicroserviceDemo/databases/Dockerfile + depends_on: + - sqlserver diff --git a/samples/MicroserviceDemo/docker-compose.override.yml b/samples/MicroserviceDemo/docker-compose.override.yml new file mode 100644 index 0000000000..66be7a6861 --- /dev/null +++ b/samples/MicroserviceDemo/docker-compose.override.yml @@ -0,0 +1,143 @@ +version: '3.0' +services: + sqlserver: + environment: + - SA_PASSWORD=yourStrong(!)Password + - ACCEPT_EULA=Y + ports: + - 1433:1433 + + mongodb: + ports: + - 27017:27017 + + rabbitmq: + ports: + - 15672:15672 + - 5672:5672 + + redis: + ports: + - 6379:6379 + + internal-gateway: + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://0.0.0.0:80 + - AuthServer__Authority=http://auth-server:64999 + - ConnectionStrings__Default=Server=sqlserver;Database=MsDemo_Identity;Trusted_Connection=True;MultipleActiveResultSets=true;User=sa;Password=yourStrong(!)Password;Integrated Security=false + - Redis__Configuration=redis + - ReRoutes__0__DownstreamHostAndPorts__Host=identity-service + - ReRoutes__0__DownstreamHostAndPorts__Port=80 + - ReRoutes__1__DownstreamHostAndPorts__Host=product-service + - ReRoutes__1__DownstreamHostAndPorts__Port=80 + - ReRoutes__2__DownstreamHostAndPorts__Host=blogging-service + - ReRoutes__2__DownstreamHostAndPorts__Port=80 + - GlobalConfiguration__BaseUrl=http://internal-gateway + ports: + - 65129:80 + + backend-admin-app-gateway: + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://0.0.0.0:80 + - RemoteServices__Default__BaseUrl=http://backend-admin-app-gateway/ + - AuthServer__Authority=http://auth-server:64999 + - ConnectionStrings__Default=Server=sqlserver;Database=MsDemo_Identity;Trusted_Connection=True;MultipleActiveResultSets=true;User=sa;Password=yourStrong(!)Password;Integrated Security=false + - Redis__Configuration=redis + - ReRoutes__0__DownstreamHostAndPorts__Host=identity-service + - ReRoutes__0__DownstreamHostAndPorts__Port=80 + - ReRoutes__1__DownstreamHostAndPorts__Host=product-service + - ReRoutes__1__DownstreamHostAndPorts__Port=80 + - GlobalConfiguration__BaseUrl=http://backend-admin-app-gateway + ports: + - 65115:80 + + public-website-gateway: + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://0.0.0.0:80 + - AuthServer__Authority=http://auth-server:64999 + - ConnectionStrings__Default=Server=sqlserver;Database=MsDemo_Identity;Trusted_Connection=True;MultipleActiveResultSets=true;User=sa;Password=yourStrong(!)Password;Integrated Security=false + - Redis__Configuration=redis + - ReRoutes__0__DownstreamHostAndPorts__Host=product-service + - ReRoutes__0__DownstreamHostAndPorts__Port=80 + - ReRoutes__1__DownstreamHostAndPorts__Host=blogging-service + - ReRoutes__1__DownstreamHostAndPorts__Port=80 + - GlobalConfiguration__BaseUrl=http://public-website-gateway + ports: + - 64897:80 + + blogging-service: + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://0.0.0.0:80 + - AuthServer__Authority=http://auth-server:64999 + - ConnectionStrings__Default=Server=sqlserver;Database=MsDemo_Identity;Trusted_Connection=True;MultipleActiveResultSets=true;User=sa;Password=yourStrong(!)Password;Integrated Security=false + - ConnectionStrings__Blogging=mongodb://mongodb|MsDemo_Blogging + - Redis__Configuration=redis + - RabbitMQ__Connections__Default__HostName=rabbitmq + ports: + - 62157:80 + + identity-service: + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://0.0.0.0:80 + - AuthServer__Authority=http://auth-server:64999 + - ConnectionStrings__Default=Server=sqlserver;Database=MsDemo_Identity;Trusted_Connection=True;MultipleActiveResultSets=true;User=sa;Password=yourStrong(!)Password;Integrated Security=false + - Redis__Configuration=redis + - RabbitMQ__Connections__Default__HostName=rabbitmq + ports: + - 63568:80 + + product-service: + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://0.0.0.0:80 + - AuthServer__Authority=http://auth-server:64999 + - ConnectionStrings__Default=Server=sqlserver;Database=MsDemo_Identity;Trusted_Connection=True;MultipleActiveResultSets=true;User=sa;Password=yourStrong(!)Password;Integrated Security=false + - ConnectionStrings__ProductManagement=Server=sqlserver;Database=MsDemo_Identity;Trusted_Connection=True;MultipleActiveResultSets=true;User=sa;Password=yourStrong(!)Password;Integrated Security=false + - Redis__Configuration=redis + - RabbitMQ__Connections__Default__HostName=rabbitmq + ports: + - 60244:80 + + auth-server: + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://0.0.0.0:64999 + - ConnectionStrings__Default=Server=sqlserver;Database=MsDemo_Identity;Trusted_Connection=True;MultipleActiveResultSets=true;User=sa;Password=yourStrong(!)Password;Integrated Security=false + - Redis__Configuration=redis + - RabbitMQ__Connections__Default__HostName=rabbitmq + ports: + - 64999:64999 + + backend-admin-app: + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://0.0.0.0:80 + - AuthServer__Authority=http://auth-server:64999 + - RemoteServices__Default__BaseUrl=http://backend-admin-app-gateway/ + - Redis__Configuration=redis + ports: + - 3000:80 + + console-client-demo: + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://0.0.0.0:80 + - RemoteServices__Default__BaseUrl=http://internal-gateway/ + - IdentityClients__Default__Authority=http://auth-server:64999 + ports: + - 3001:80 + + public-website: + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://0.0.0.0:80 + - AuthServer__Authority=http://auth-server:64999 + - RemoteServices__Default__BaseUrl=http://public-website-gateway/ + - Redis__Configuration=redis + ports: + - 3002:80 diff --git a/samples/MicroserviceDemo/docker-compose.yml b/samples/MicroserviceDemo/docker-compose.yml new file mode 100644 index 0000000000..7c2d6e0cd7 --- /dev/null +++ b/samples/MicroserviceDemo/docker-compose.yml @@ -0,0 +1,114 @@ +version: '3.0' + +services: + sqlserver: + image: mcr.microsoft.com/mssql/server + volumes: + - dbdata:/var/opt/mssql + + mongodb: + image: mongo + + rabbitmq: + image: 'rabbitmq:3-management-alpine' + + redis: + image: redis + + internal-gateway: + image: 'microservice-demo/internal-gateway:${TAG:-latest}' + build: + context: ../../ + dockerfile: samples/MicroserviceDemo/gateways/InternalGateway.Host/Dockerfile + depends_on: + - redis + - sqlserver + - identity-service + - product-service + - blogging-service + + backend-admin-app-gateway: + image: 'microservice-demo/backend-admin-app-gateway:${TAG:-latest}' + build: + context: ../../ + dockerfile: samples/MicroserviceDemo/gateways/BackendAdminAppGateway.Host/Dockerfile + depends_on: + - redis + - sqlserver + - identity-service + - product-service + + public-website-gateway: + image: 'microservice-demo/public-website-gateway:${TAG:-latest}' + build: + context: ../../ + dockerfile: samples/MicroserviceDemo/gateways/PublicWebSiteGateway.Host/Dockerfile + depends_on: + - redis + - blogging-service + - product-service + + blogging-service: + image: 'microservice-demo/blogging-service:${TAG:-latest}' + build: + context: ../../ + dockerfile: samples/MicroserviceDemo/microservices/BloggingService.Host/Dockerfile + depends_on: + - mongodb + - redis + + identity-service: + image: 'microservice-demo/identity-service:${TAG:-latest}' + build: + context: ../../ + dockerfile: samples/MicroserviceDemo/microservices/IdentityService.Host/Dockerfile + depends_on: + - rabbitmq + - redis + - sqlserver + + product-service: + image: 'microservice-demo/product-service:${TAG:-latest}' + build: + context: ../../ + dockerfile: samples/MicroserviceDemo/microservices/ProductService.Host/Dockerfile + depends_on: + - sqlserver + - redis + + auth-server: + image: 'microservice-demo/auth-server:${TAG:-latest}' + build: + context: ../../ + dockerfile: samples/MicroserviceDemo/applications/AuthServer.Host/Dockerfile + depends_on: + - redis + - rabbitmq + - identity-service + + backend-admin-app: + image: 'microservice-demo/backend-admin-app:${TAG:-latest}' + build: + context: ../../ + dockerfile: samples/MicroserviceDemo/applications/BackendAdminApp.Host/Dockerfile + depends_on: + - backend-admin-app-gateway + + console-client-demo: + image: 'microservice-demo/console-client-demo:${TAG:-latest}' + build: + context: ../../ + dockerfile: samples/MicroserviceDemo/applications/ConsoleClientDemo/Dockerfile + depends_on: + - internal-gateway + + public-website: + image: 'microservice-demo/public-website:${TAG:-latest}' + build: + context: ../../ + dockerfile: samples/MicroserviceDemo/applications/PublicWebSite.Host/Dockerfile + depends_on: + - public-website-gateway + +volumes: + dbdata: \ No newline at end of file