Description
Windows handles environment variables case-insensitively.
docker-compose v1 does so.
But docker-compose v2 looks handle environment variables case-sensitively.
This relates docker/for-win#12655 .
Steps to reproduce the issue:
-
Create a docker-compose.yaml that receives
envTest
:PS C:\envTest> type .\docker-compose.yaml version: '3' services: alpine: image: alpine environment: - envTest command: - sh - -c - | export|grep envTest
-
Define
ENVTEST
:PS C:\envTest> $ENV:ENVTEST="foobar" PS C:\envTest> echo $ENV:envTest foobar
-
run with docker-compose:
docker compose run --rm alpine
Describe the results you received:
No output from container:
PS C:\envTest> docker compose run --rm alpine
PS C:\envTest>
Describe the results you expected:
ENVTEST
should be passed as envTest
:
PS C:\envTest> docker compose run --rm alpine
export envTest='foobar'
PS C:\envTest>
Additional information you deem important (e.g. issue happens only occasionally):
Behavior with docker-compose v1:
PS C:\envTest> docker-compose version
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.9.0
OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020
PS C:\envTest> docker-compose run --rm alpine
Creating envtest_alpine_run ... done
export envTest='foobar'
PS C:\envTest>
Behavior with docker run
:
PS C:\envTest> docker run --rm -e envTest alpine /bin/sh -c export|findstr envTest
export envTest='foobar'
PS C:\envTest>
Output of docker compose version
:
Docker Compose version v2.4.1
Output of docker info
:
Client:
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc., v0.8.2)
compose: Docker Compose (Docker Inc., v2.4.1)
grun: (ikedam)
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: 15
Running: 1
Paused: 0
Stopped: 14
Images: 115
Server Version: 20.10.14
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: 3df54a852345ae127d1fa3092b95168e4a88e2f8
runc version: v1.0.3-0-gf46b6ba
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 4.19.128-microsoft-standard
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 3.841GiB
Name: docker-desktop
ID: HFIZ:YWTT:JRFM:7DHC:PSS5:6HRS:VPW6:PIZ2:VKAK:E53J:IAU5:XXTG
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
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Additional environment details:
-
Windows 10 Pro 21H2 19044.1645 (x64)
-
Docker Desktop (Windows) Version 4.7.1 (77678)
-
docker version
:Client: Cloud integration: v1.0.23 Version: 20.10.14 API version: 1.41 Go version: go1.16.15 Git commit: a224086 Built: Thu Mar 24 01:53:11 2022 OS/Arch: windows/amd64 Context: default Experimental: true Server: Docker Desktop 4.7.1 (77678) Engine: Version: 20.10.14 API version: 1.41 (minimum version 1.12) Go version: go1.16.15 Git commit: 87a90dc Built: Thu Mar 24 01:46:14 2022 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.5.11 GitCommit: 3df54a852345ae127d1fa3092b95168e4a88e2f8 runc: Version: 1.0.3 GitCommit: v1.0.3-0-gf46b6ba docker-init: Version: 0.19.0 GitCommit: de40ad0
-
docker context show
:default