|
2 | 2 |
|
3 | 3 | In the root folder of the repo are all docker-compose files (`docker-compose*.yml`). Here is a list of all of them and what is their purpose: |
4 | 4 |
|
5 | | -## Container build |
6 | | - |
7 | | -* `docker-compose.ci.build.yml`: This file is for starting the build container to build the project using a container that has all needed prerequisites. Refer to [corresponding wiki section](https://github.com/dotnet-architecture/eShopOnContainers/wiki/03.-Setting-the-eShopOnContainers-solution-up-in-a-Windows-CLI-environment-(dotnet-CLI,-Docker-CLI-and-VS-Code)#build-the-bits-through-the-build-container-image) for more information. |
8 | | - |
9 | 5 | ## Files needed to run eShopOnContainers locally |
10 | 6 |
|
11 | 7 | * `docker-compose.yml`: This file contains **the definition of all images needed for running eShopOnContainers**. |
@@ -47,6 +43,17 @@ PicBaseUrl=${ESHOP_AZURE_STORAGE_CATALOG:-http://${ESHOP_PROD_EXTERNAL_DNS_NAME_ |
47 | 43 |
|
48 | 44 | So, use `ESHOP_AZURE_STORAGE_CATALOG` if set, and if not use `http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5101/api/v1/catalog/items/[0]/pic/}`. Unfortunately seems that docker-compose do not substitute variables inside variables, so the value that `PicBaseUrl` gets if `ESHOP_AZURE_STORAGE_CATALOG` is not set is literally `http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5101/api/v1/catalog/items/[0]/pic/}` without any substitution. |
49 | 45 |
|
| 46 | +## Build container (DEPRECATED) |
| 47 | + |
| 48 | +NOTE that since we support Docker MULTI-STAGE builds (support in VS 2017 since December 2017), the build container is no loger needed in CI/CD pipelines as a similar process is done by Docker itself under the covers with the multi-stage builds. |
| 49 | +For more info on Docker Multi-Stage, read: |
| 50 | + |
| 51 | +https://docs.docker.com/develop/develop-images/multistage-build/ |
| 52 | + |
| 53 | +https://blogs.msdn.microsoft.com/stevelasker/2017/09/11/net-and-multistage-dockerfiles/ |
| 54 | + |
| 55 | +* `docker-compose.ci.build.yml`: This file is for starting the build container to build the project using a container that has all needed prerequisites. Refer to [corresponding wiki section](https://github.com/dotnet-architecture/eShopOnContainers/wiki/03.-Setting-the-eShopOnContainers-solution-up-in-a-Windows-CLI-environment-(dotnet-CLI,-Docker-CLI-and-VS-Code)#build-the-bits-through-the-build-container-image) for more information. |
| 56 | + |
50 | 57 | **For more information** about docker-compose variable substitution read the [compose docs](https://docs.docker.com/compose/compose-file/#variable-substitution). |
51 | 58 |
|
52 | 59 | ## Other files |
@@ -76,4 +83,4 @@ These files were intended to provide a fast way to start only "infrastructure" c |
76 | 83 | * `docker-compose-external.override.yml` |
77 | 84 | * `docker-compose-external.yml` |
78 | 85 |
|
79 | | -If you want to start only certain containers use `docker-compose -f ... -f ... up container1 contaner2 containerN` as specified in [compose doc](https://docs.docker.com/compose/reference/up/) |
| 86 | +If you want to start only certain containers use `docker-compose -f ... -f ... up container1 contaner2 containerN` as specified in [compose doc](https://docs.docker.com/compose/reference/up/) |
0 commit comments