compose-cli
compose-cli copied to clipboard
env-file not working with ACI context
Description
Using the Microsoft Tutorial for testing purposes, I can deploy a local group of containers using the --env-file command for variable substitution, however when I try to do the same with an ACI context, I get the message ACI integration does not support labels in compose applications. The documentation here seems to indicate that the functionality should work.
Steps to reproduce the issue:
docker-compose.yml
version: '3'
services:
azure-vote-back:
image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
container_name: azure-vote-back
environment:
ALLOW_EMPTY_PASSWORD: ${ALLOW_EMPTY_PASSWORD}
ports:
- "6379:6379"
azure-vote-front:
build: ./azure-vote
image: mcr.microsoft.com/azuredocs/azure-vote-front:v1
container_name: azure-vote-front
environment:
REDIS: azure-vote-back
ports:
- "80:80"
2 vars.env
ALLOW_EMPTY_PASSWORD=yes
- run
docker compose --env-file vars.env up
Describe the results you received:
ACI integration does not support labels in compose applications
Describe the results you expected: The container to deploy
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker-compose --version:
docker-compose version 1.29.2, build 5becea4c
Output of docker version:
Client:
Cloud integration: v1.0.25
Version: 20.10.16
API version: 1.41
Go version: go1.17.10
Git commit: aa7e414
Built: Thu May 12 09:17:07 2022
OS/Arch: windows/amd64
Context: bren-sandbox
Experimental: true
Server: Docker Desktop 4.9.1 (81317)
Engine:
Version: 20.10.16
API version: 1.41 (minimum version 1.12)
Go version: go1.17.10
Git commit: f756502
Built: Thu May 12 09:15:42 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.4
GitCommit: 212e8b6fa2f44b9c21b2798135fc6fb7c53efc16
runc:
Version: 1.1.1
GitCommit: v1.1.1-0-g52de29d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Output of docker context show:
You can also run docker context inspect context-name to give us more details but don't forget to remove sensitive content.
bren-sandbox
Output of docker info:
Note: I've swapped to default for this section, as the ACI context cannot provide this detail.
Client:
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc., v0.8.2)
compose: Docker Compose (Docker Inc., v2.6.0)
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
scan: Docker Scan (Docker Inc., v0.17.0)
Server:
Containers: 8
Running: 0
Paused: 0
Stopped: 8
Images: 30
Server Version: 20.10.16
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 212e8b6fa2f44b9c21b2798135fc6fb7c53efc16
runc version: v1.1.1-0-g52de29d
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 5.4.72-microsoft-standard-WSL2
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 12.27GiB
Name: docker-desktop
ID: JXP5:WVZE:XIDX:EVMT:4YL3:YMVE:R5ES:56QI:ABDC:32UV:Q3Y6:XOHI
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5000
127.0.0.0/8
Live Restore Enabled: false
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support
Additional environment details (AWS ECS, Azure ACI, local, etc.): Azure ACI
Same problem here.
I'm running into the same problem. It seems like docker compose --help shows many options that are not supported by ACI, like -p, --project-name and --env-file
Any updates on this issue or is any workaround available to pass environment variables in the ACI context?
Haven't tried this yet, but it worked in another case:
export $(cat docker/dev/.env | xargs) && docker compose up
You do need to remove any # comments from the .env file
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Still worth fixing if it persists. I gave up on deploying with docker compose and the Azure CLI, too limited - the best workaround for my use case was to deploy with docker compose on an Azure VM and avoid the CLI.
This issue has been automatically closed because it had not recent activity during the stale period.
Note to readers that docker-cli is being retired in November 2023.