Closed as not planned
Description
Description
Docker secrets specified using the long syntax for the docker-compose.yml
file fail to set the specified uid
, gid
and mode
.
Also, from the docs, the default value of the uid
and gid
fields should be the user that runs the container however the value remains whatever was set on the host machine.
Steps to reproduce the issue:
- Create a
Dockerfile
❯ cat Dockerfile
FROM ubuntu:20.04
RUN adduser tester -u 1005 --disabled-password
CMD ["/bin/bash", "-c", "ls -al /run/secrets/target_secret_file.txt"]
- Create a
docker-compose.yml
❯ cat docker-compose.yml
services:
secrets-tester:
build: .
secrets:
- source: some_secret_file
target: target_secret_file.txt
uid: "1005"
gid: "1005"
mode: 0440
secrets:
some_secret_file:
file: somefile.txt
- Create a text file for secrets (
somefile.txt
)
❯ cat somefile.txt
Text from a secret file
- Run the service
docker compose run secrets-tester
Describe the results you received:
Received Output:
❯ docker compose run secrets-tester
-rw-r--r-- 1 1000 1000 24 Jul 13 16:47 /run/secrets/target_secret_file.txt
Describe the results you expected:
Expected Output:
❯ docker compose run secrets-tester
-r--r----- 1 1005 1005 24 Jul 13 16:47 /run/secrets/target_secret_file.txt
Additional information you deem important (e.g. issue happens only occasionally):
Same behavior is observed in these cases:
- Without creating the
tester
user - With same
source
andtarget
names for the file indocker-compose.yml
- Using the
uid
andgid
forroot
- Using random values for
uid
andgid
- Different values for
mode
Output of docker compose version
:
❯ docker --version
Docker version 20.10.17, build 100c701
❯ docker compose version
Docker Compose version v2.6.0
Output of docker info
:
❯ docker info
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
compose: Docker Compose (Docker Inc., v2.6.0)
scan: Docker Scan (Docker Inc., v0.17.0)
Server:
Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 1
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: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
Default Runtime: runc
Init Binary: docker-init
containerd version: 3df54a852345ae127d1fa3092b95168e4a88e2f8
runc version: v1.1.2-0-ga916309
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 5.10.102.1-microsoft-standard-WSL2
Operating System: Ubuntu 20.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 7.763GiB
Name: DESKTOP-IGS6AOM
ID: MBVL:76QX:UWDQ:AK7Z:BNGW:PYGL:EXFG:ZHGD:JM53:RBFZ:4SQV:5I7Z
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
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:
Metadata
Metadata
Assignees
Labels
No labels