Fix contents of the table with the last updates on precedence

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
This commit is contained in:
Ulysses Souza 2022-09-01 18:43:49 +02:00
parent 6c073b3ad7
commit d7be7f5ee2
1 changed files with 18 additions and 20 deletions

View File

@ -15,32 +15,30 @@ The table below provides a quick overview of how interpolation works when using
Each row represents a scenario and each column represents a context where you can be setting or passing an environment variable.
| # | `.env` file | `compose.yaml`:`env_file` key | `compose.yaml`:`environment` key | CMD | Image | OS | Resolved as |
|:-:|:--------------------------:|:-----------------------------:|:---------------------------------:|:------------:|:-------------:|:------------:|:-----------------:|
| 1 | `TAG=1.3` | Unset | Unset | Unset | `TAG=1.6` | `TAG=1.4` | `TAG=1.6` |
| 2 | `TAG=1.3` | Unset | Unset | `TAG` | `TAG=1.6` | `TAG=1.4` | `TAG=1.3` |
| 3 | `TAG=$TAG:-1.2` | Unset | Unset | `TAG` | `TAG=1.6` | `TAG=1.4` | `TAG=1.4` |
| 4 | `TAG=$TAG:-1.2` | Unset | Unset | Unset | `TAG=1.6` | `TAG=1.4` | `TAG=1.6` |
| 5 | `TAG=$TAG:-1.2` | Unset | Unset | `TAG` | `TAG=1.6` | Unset | `TAG=1.6` |
| 6 | `TAG=$TAG:-1.2` | Unset | Unset | `TAG=1.5` | `TAG=1.6` | `TAG=1.4` | `TAG=1.5` |
| 7 | `TAG=$TAG:-1.2` | Unset | `TAG` | Unset | `TAG=1.6` | `TAG=1.4` | `TAG=1.4` |
| 8 | `TAG=$TAG:-1.2` | Unset | `TAG=1.7` | `TAG` | `TAG=1.6` | `TAG=1.4` | `TAG=1.7` |
| 9 | `TAG=$TAG:-1.2` | Unset | `TAG=1.7` | `TAG=1.5` | `TAG=1.6` | `TAG=1.4` | `TAG=1.5` |
| 10| `TAG=$TAG:-1.2` | Unset | `TAG` | `TAG` | `TAG=1.6` | `TAG=1.4` | `TAG=1.4` |
| 11| `TAG=$TAG:-1.2` | Unset | `TAG` | `TAG` | `TAG=1.6` | `TAG=1.4` | `TAG=1.4` |
| 12| `TAG=$TAG:-1.2` | `TAG=1.8` | Unset | **`TAG=1.5`** | `TAG=1.6` | `TAG=1.4` | `TAG=1.5` |
| 13| `TAG=$TAG:-1.2` | `TAG=1.8` | **`TAG=1.7`** | `TAG=1.5` | `TAG=1.6` | `TAG=1.4` | `TAG=1.7` |
| 14| Unset |**`TAG=1.8`** | Unset | Unset | `TAG=1.6` | `TAG=1.4` | `TAG=1.8` |
| 15| Unset | Unset | `TAG=1.7` | Unset | `TAG=1.6` | `TAG=1.4` | `TAG=1.4` |
| 16| Unset | Unset | `TAG=1.7` | Unset | `TAG=1.6` | `TAG=1.4` | `TAG=1.4` |
| # | `.env` file | `Host OS` environment | Image | `compose.yaml`:`env_file` key | `compose.yaml`:`environment` key | `run --env` | Resolved as |
|:--:|:-----------------:|:-----------------------:|:-----------:|:-------------------------------:|:----------------------------------:|:-------------:|:-------------:|
| 1 | `TAG=1.3` | `TAG=1.4` | - | - | - | - | - |
| 2 | `TAG=1.3` | `TAG=1.4` |**`TAG=1.5`**| - | - | - | `TAG=1.5` |
| 3 | `TAG=1.3` |**`TAG=1.4`** | `TAG=1.5` | - | - |**`TAG`** | `TAG=1.4` |
| 4 |**`TAG=1.3`** | - | `TAG=1.5` |**`TAG`** | - | - | `TAG=1.3` |
| 5 |**`TAG=1.3`** | - | `TAG=1.5` | - | - |**`TAG`** | `TAG=1.3` |
| 6 | `TAG=1.3` | `TAG=1.4` | `TAG=1.5` | - | - |**`TAG=1.8`** | `TAG=1.8` |
| 7 | `TAG=1.3` |**`TAG=1.4`** | `TAG=1.5` | - |**`TAG`** | - | `TAG=1.4` |
| 8 | `TAG=1.3` |**`TAG=1.4`** | `TAG=1.5` | - | `TAG=1.7` |**`TAG`** | `TAG=1.4` |
| 9 | `TAG=1.3` | `TAG=1.4` | `TAG=1.5` | - | `TAG=1.7` |**`TAG=1.8`** | `TAG=1.8` |
| 10 | `TAG=1.3` |**`TAG=1.4`** | `TAG=1.5` | - |**`TAG`** | - | `TAG=1.4` |
| 11 | `TAG=1.3` | `TAG=1.4` | `TAG=1.5` | `TAG=1.6` | - |**`TAG=1.8`** | `TAG=1.8` |
| 12 | `TAG=1.3` | `TAG=1.4` | `TAG=1.5` | `TAG=1.6` | `TAG=1.7` |**`TAG=1.8`** | `TAG=1.8` |
| 13 | - | `TAG=1.4` | `TAG=1.5` |**`TAG=1.6`** | - | - | `TAG=1.6` |
| 14 | - | `TAG=1.4` | `TAG=1.5` | - |**`TAG=1.7`** | - | `TAG=1.7` |
Description for each column:
* `.env` file - `.env` file on the project root (or, with higher precedence, the file passed via `docker compose -env-file <FILE>`).
* `OS` environment - OS Environment variable
* `Host OS` environment - OS Environment variable
* Image - `ENV` directive in the Dockerfile
* Compose file - In `env_file` key from the service section in the `compose.yaml`.
* Compose file - In `environment` key from the service section in the `compose.yaml`.
* Command line - Environmental variable passed via `docker compose run -e <KEY[=[VAL]]>`.
* Resolved as - This column expresses the result available in the container.
**Note that the "`OS`" has precedence over "`.env` file" column for variable resolution in the other columns.**
**Note that the "`Host OS`" has precedence over "`.env` file" column for variable resolution in the other columns.**