|
|
@@ -2,7 +2,7 @@
|
|
|
|
|
|
This document outlines the conversion of an application defined in a Compose file to ACI objects.
|
|
|
At a high-level, each Compose deployment is mapped to a single ACI container group.
|
|
|
-Each service is mapped to a container in the container group. The Docker ACI integration provides does not allow scaling of services.
|
|
|
+Each service is mapped to a container in the container group. The Docker ACI integration does not allow scaling of services.
|
|
|
|
|
|
## Compose fields mapping
|
|
|
|
|
|
@@ -58,7 +58,7 @@ __Legend:__
|
|
|
| service.networks | x | Communication between services is implemented by defining mapping for each service in the shared `/etc/hosts` file of the container group. Each service can resolve names for other services and the resulting network calls will be redirected to `localhost`.
|
|
|
| service.pid | x |
|
|
|
| service.ports | ✓ | Only symetrical por mapping is supported in ACI. See #exposing-ports.
|
|
|
-| service.secrets | ✓ |
|
|
|
+| service.secrets | ✓ | See #secrets.
|
|
|
| service.security_opt | x |
|
|
|
| service.stop_grace_period | x |
|
|
|
| service.stop_signal | x |
|
|
|
@@ -118,6 +118,33 @@ A Compose file can define several volumes, with different Azure file shares or s
|
|
|
|
|
|
Credentials for storage accounts will be automatically fetched at deployment time using the Azure login to retrieve the storage account key for each storage account used.
|
|
|
|
|
|
+## Secrets
|
|
|
+
|
|
|
+Secrets can be defined in compose files, and will need secret files available at deploy time next to the compose file.
|
|
|
+The content of the secret file will be made available inside selected containers, under `/run/secrets/<SECRET_NAME>/<SECRET_NAME>
|
|
|
+External secrets are not supported with the ACI integration.
|
|
|
+Due to ACI secret volume mounting, each secret file is mounted in its own folder named after the secret.
|
|
|
+
|
|
|
+```yaml
|
|
|
+services:
|
|
|
+ nginx:
|
|
|
+ image: nginx
|
|
|
+ secrets:
|
|
|
+ - mysecret1
|
|
|
+ db:
|
|
|
+ image: mysql
|
|
|
+ secrets:
|
|
|
+ - mysecret2
|
|
|
+
|
|
|
+secrets:
|
|
|
+ mysecret1:
|
|
|
+ file: ./my_secret1.txt
|
|
|
+ mysecret2:
|
|
|
+ file: ./my_secret2.txt
|
|
|
+```
|
|
|
+
|
|
|
+The nginx container will have secret1 mounted as `/run/secrets/mysecret1/mysecret1`, the db container will have secret2 mounted as `/run/secrets/mysecret1/mysecret2`
|
|
|
+
|
|
|
## Container Resources
|
|
|
|
|
|
CPU and memory reservations and limits can be set in compose.
|