Skip to content

Commit 779c7c2

Browse files
Refactoring in docker-compose files
1 parent 8c810ad commit 779c7c2

3 files changed

Lines changed: 100 additions & 40 deletions

File tree

docker-compose.override.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,3 +212,12 @@ services:
212212
nosql.data:
213213
ports:
214214
- "27017:27017"
215+
216+
basket.data:
217+
ports:
218+
- "6379:6379"
219+
220+
rabbitmq:
221+
ports:
222+
- "15672:15672"
223+
- "5672:5672"

docker-compose.prod.yml

Lines changed: 91 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -6,79 +6,99 @@ version: '3'
66
# but values present in the environment vars at runtime will always override those defined inside the .env file
77
# An external IP or DNS name has to be used when testing the Web apps and the Xamarin apps from remote machines/devices using the same WiFi, for instance.
88
#
9+
# IMPORTANT: Note that this compose file uses ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP instead of ESHOP_EXTERNAL_DNS_NAME_OR_IP
910
# Set ASPNETCORE_ENVIRONMENT=Development to get errors while testing.
1011
#
1112
# You need to start it with the following CLI command:
1213
# docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
1314

1415
services:
15-
16+
1617
basket.api:
1718
environment:
18-
- ASPNETCORE_ENVIRONMENT=Production
19+
- ASPNETCORE_ENVIRONMENT=Development
1920
- ASPNETCORE_URLS=http://0.0.0.0:80
2021
- ConnectionString=${ESHOP_AZURE_REDIS_BASKET_DB:-basket.data}
2122
- identityUrl=http://identity.api #Local: You need to open your local dev-machine firewall at range 5100-5110.
2223
- IdentityUrlExternal=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105
2324
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
25+
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
26+
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
2427
- AzureServiceBusEnabled=False
28+
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
29+
- OrchestratorType=${ORCHESTRATOR_TYPE}
30+
- UseLoadTest=${USE_LOADTEST:-False}
31+
2532
ports:
2633
- "5103:80"
2734

2835
catalog.api:
2936
environment:
30-
- ASPNETCORE_ENVIRONMENT=Production
37+
- ASPNETCORE_ENVIRONMENT=Development
3138
- ASPNETCORE_URLS=http://0.0.0.0:80
3239
- ConnectionString=${ESHOP_AZURE_CATALOG_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word}
3340
- PicBaseUrl=${ESHOP_AZURE_STORAGE_CATALOG_URL:-http://localhost:5101/api/v1/catalog/items/[0]/pic/} #Local: You need to open your local dev-machine firewall at range 5100-5110.
3441
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
42+
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
43+
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
3544
- AzureStorageAccountName=${ESHOP_AZURE_STORAGE_CATALOG_NAME}
3645
- AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_CATALOG_KEY}
3746
- UseCustomizationData=True
3847
- AzureServiceBusEnabled=False
3948
- AzureStorageEnabled=False
49+
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
50+
- OrchestratorType=${ORCHESTRATOR_TYPE}
4051
ports:
4152
- "5101:80"
4253

4354
identity.api:
4455
environment:
45-
- ASPNETCORE_ENVIRONMENT=Production
56+
- ASPNETCORE_ENVIRONMENT=Development
4657
- ASPNETCORE_URLS=http://0.0.0.0:80
4758
- SpaClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5104
48-
- XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback
49-
- ConnectionStrings__DefaultConnection=${ESHOP_AZURE_IDENTITY_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word}
59+
- XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback #localhost do not work for UWP login, so we have to use "external" IP always
60+
- ConnectionString=${ESHOP_AZURE_IDENTITY_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word}
5061
- MvcClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5100 #Local: You need to open your local dev-machine firewall at range 5100-5110.
5162
- LocationApiClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5109
5263
- MarketingApiClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5110
5364
- BasketApiClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5103
54-
- OrderingApiClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5102
55-
- UseCustomizationData=True
65+
- OrderingApiClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5102
66+
- UseCustomizationData=True
67+
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
68+
- OrchestratorType=${ORCHESTRATOR_TYPE}
5669
ports:
5770
- "5105:80"
5871

5972
ordering.api:
6073
environment:
61-
- ASPNETCORE_ENVIRONMENT=Production
74+
- ASPNETCORE_ENVIRONMENT=Development
6275
- ASPNETCORE_URLS=http://0.0.0.0:80
6376
- ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word}
6477
- identityUrl=http://identity.api #Local: You need to open your local dev-machine firewall at range 5100-5110.
6578
- IdentityUrlExternal=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105
6679
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
80+
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
81+
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
6782
- UseCustomizationData=True
6883
- AzureServiceBusEnabled=False
6984
- CheckUpdateTime=30000
70-
- GracePeriodTime=1
85+
- GracePeriodTime=1
86+
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
87+
- OrchestratorType=${ORCHESTRATOR_TYPE}
88+
- UseLoadTest=${USE_LOADTEST:-False}
7189
ports:
7290
- "5102:80"
7391

7492
marketing.api:
7593
environment:
76-
- ASPNETCORE_ENVIRONMENT=Production
94+
- ASPNETCORE_ENVIRONMENT=Development
7795
- ASPNETCORE_URLS=http://0.0.0.0:80
7896
- ConnectionString=${ESHOP_AZURE_MARKETING_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Services.MarketingDb;User Id=sa;Password=Pass@word}
7997
- MongoConnectionString=${ESHOP_AZURE_COSMOSDB:-mongodb://nosql.data}
8098
- MongoDatabase=MarketingDb
8199
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
100+
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
101+
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
82102
- identityUrl=http://identity.api #Local: You need to open your local dev-machine firewall at range 5100-5110.
83103
- IdentityUrlExternal=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105
84104
- CampaignDetailFunctionUri=${ESHOP_AZUREFUNC_CAMPAIGN_DETAILS_URI}
@@ -87,87 +107,123 @@ services:
87107
- AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_MARKETING_KEY}
88108
- AzureServiceBusEnabled=False
89109
- AzureStorageEnabled=False
110+
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
111+
- OrchestratorType=${ORCHESTRATOR_TYPE}
112+
- UseLoadTest=${USE_LOADTEST:-False}
90113
ports:
91114
- "5110:80"
92115

93116
webspa:
94117
environment:
95-
- ASPNETCORE_ENVIRONMENT=Production
118+
- ASPNETCORE_ENVIRONMENT=Development
96119
- ASPNETCORE_URLS=http://0.0.0.0:80
97120
- CatalogUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5101
98121
- OrderingUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5102
99-
- IdentityUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105 #Local: You need to open your host's firewall at range 5100-5110.
122+
- IdentityUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105 #Local: You need to open your local dev-machine firewall at range 5100-5105. at range 5100-5105.
100123
- BasketUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5103
101124
- MarketingUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5110
125+
- LocationsUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5109
102126
- CatalogUrlHC=http://catalog.api/hc
103127
- OrderingUrlHC=http://ordering.api/hc
104128
- IdentityUrlHC=http://identity.api/hc #Local: Use ${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}, if using external IP or DNS name from browser.
105129
- BasketUrlHC=http://basket.api/hc
106130
- MarketingUrlHC=http://marketing.api/hc
131+
- PaymentUrlHC=http://payment.api/hc
107132
- UseCustomizationData=True
133+
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
134+
- OrchestratorType=${ORCHESTRATOR_TYPE}
108135
ports:
109136
- "5104:80"
110137

111138
webmvc:
112139
environment:
113-
- ASPNETCORE_ENVIRONMENT=Production
140+
- ASPNETCORE_ENVIRONMENT=Development
114141
- ASPNETCORE_URLS=http://0.0.0.0:80
115142
- CatalogUrl=http://catalog.api
116143
- OrderingUrl=http://ordering.api
117144
- BasketUrl=http://basket.api
118-
- IdentityUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105 #Local: Use ${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}, if using external IP or DNS name from browser.
119-
- MarketingUrl=http://marketing.api #Local: Use 10.0.75.1 in a "Docker for Windows" environment, if using "localhost" from browser.
120-
#Remote: Use ${ESHOP_EXTERNAL_DNS_NAME_OR_IP} if using external IP or DNS name from browser.
145+
- LocationsUrl=http://locations.api
146+
- IdentityUrl=http://10.0.75.1:5105
147+
- MarketingUrl=http://marketing.api #Local: Use 10.0.75.1 in a "Docker for Windows" environment, if using "localhost" from browser. #Remote: Use ${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP} if using external IP or DNS name from browser.
148+
- CatalogUrlHC=http://catalog.api/hc
149+
- OrderingUrlHC=http://ordering.api/hc
150+
- IdentityUrlHC=http://identity.api/hc #Local: Use ${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}, if using external IP or DNS name from browser.
151+
- BasketUrlHC=http://basket.api/hc
152+
- MarketingUrlHC=http://marketing.api/hc
153+
- PaymentUrlHC=http://payment.api/hc
121154
- UseCustomizationData=True
155+
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
156+
- OrchestratorType=${ORCHESTRATOR_TYPE}
157+
- UseLoadTest=${USE_LOADTEST:-False}
122158
ports:
123159
- "5100:80"
124160

125-
sql.data:
126-
environment:
127-
- MSSQL_SA_PASSWORD=Pass@word
128-
- ACCEPT_EULA=Y
129-
- MSSQL_PID=Developer
130-
ports:
131-
- "5433:1433"
132-
133-
nosql.data:
134-
ports:
135-
- "27017:27017"
136-
137161
webstatus:
138162
environment:
139-
- ASPNETCORE_ENVIRONMENT=Production
163+
- ASPNETCORE_ENVIRONMENT=Development
140164
- ASPNETCORE_URLS=http://0.0.0.0:80
141165
- CatalogUrl=http://catalog.api/hc
142166
- OrderingUrl=http://ordering.api/hc
143167
- BasketUrl=http://basket.api/hc
144168
- IdentityUrl=http://identity.api/hc
145169
- LocationsUrl=http://locations.api/hc
146170
- MarketingUrl=http://marketing.api/hc
171+
- PaymentUrl=http://payment.api/hc
147172
- mvc=http://webmvc/hc
148173
- spa=http://webspa/hc
149-
174+
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
175+
- OrchestratorType=${ORCHESTRATOR_TYPE}
150176
ports:
151177
- "5107:80"
152178

153179
payment.api:
154180
environment:
155-
- ASPNETCORE_ENVIRONMENT=Production
156-
- ASPNETCORE_URLS=http://0.0.0.0:5108
181+
- ASPNETCORE_ENVIRONMENT=Development
182+
- ASPNETCORE_URLS=http://0.0.0.0:80
157183
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
184+
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
185+
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
158186
- AzureServiceBusEnabled=False
187+
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
188+
- OrchestratorType=${ORCHESTRATOR_TYPE}
159189
ports:
160190
- "5108:80"
161191

162192
locations.api:
163193
environment:
164-
- ASPNETCORE_ENVIRONMENT=Production
194+
- ASPNETCORE_ENVIRONMENT=Development
165195
- ASPNETCORE_URLS=http://0.0.0.0:80
166196
- ConnectionString=${ESHOP_AZURE_COSMOSDB:-mongodb://nosql.data}
167197
- Database=LocationsDb
168198
- identityUrl=http://identity.api #Local: You need to open your local dev-machine firewall at range 5100-5110.
169199
- IdentityUrlExternal=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105
170200
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
201+
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
202+
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
171203
- AzureServiceBusEnabled=False
204+
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
205+
- OrchestratorType=${ORCHESTRATOR_TYPE}
206+
- UseLoadTest=${USE_LOADTEST:-False}
207+
ports:
208+
- "5109:80"
209+
210+
sql.data:
211+
environment:
212+
- MSSQL_SA_PASSWORD=Pass@word
213+
- ACCEPT_EULA=Y
214+
- MSSQL_PID=Developer
215+
ports:
216+
- "5433:1433"
217+
218+
nosql.data:
219+
ports:
220+
- "27017:27017"
221+
222+
basket.data:
223+
ports:
224+
- "6379:6379"
225+
226+
rabbitmq:
172227
ports:
173-
- "5109:80"
228+
- "15672:15672"
229+
- "5672:5672"

docker-compose.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,6 @@ services:
104104

105105
basket.data:
106106
image: redis
107-
ports:
108-
- "6379:6379"
109107

110108
rabbitmq:
111109
image: rabbitmq:3-management
112-
ports:
113-
- "15672:15672"
114-
- "5672:5672"

0 commit comments

Comments
 (0)