Open
Description
Description
In the latest v23.0.0 update, I found that using COPY --link FILE.txt /tmp/FILE.txt
caused the permissions of the /tmp
directory to change from 777 to 755. This caused problems downstream because apt
no longer had write permissions to the /tmp
directory. Though this can be fixed by changing the directory that the file was copied to, this is obviously a bug.
Reproduce
git clone https://github.com/cresset-template/cresset.git
cd cresset
git checkout 2fc0889
make env
make build
Expected behavior
I tried adding RUN ls -alh /tmp
to the Dockerfile before and after the COPY
command in line 418 of the Cresset Dockerfile and the file permissions that I found were different. The COPY
command should not change the permissions of the directory.
docker version
Client: Docker Engine - Community
Version: 23.0.0
API version: 1.42
Go version: go1.19.5
Git commit: e92dd87
Built: Wed Feb 1 17:49:08 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 23.0.0
API version: 1.42 (minimum version 1.12)
Go version: go1.19.5
Git commit: d7573ab
Built: Wed Feb 1 17:49:08 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.16
GitCommit: 31aa4358a36870b21a992d3ad2bef29e1d693bec
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker info
Client:
Context: default
Debug Mode: false
Plugins:
compose: Docker Compose (Docker Inc.)
Version: v2.15.1
Path: /home/veritas/.docker/cli-plugins/docker-compose
scan: Docker Scan (Docker Inc.)
Version: v0.17.0
Path: /usr/libexec/docker/cli-plugins/docker-scan
Server:
Containers: 4
Running: 3
Paused: 0
Stopped: 1
Images: 19
Server Version: 23.0.0
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
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: nvidia runc io.containerd.runc.v2
Default Runtime: runc
Init Binary: docker-init
containerd version: 31aa4358a36870b21a992d3ad2bef29e1d693bec
runc version: v1.1.4-0-g5fd4c4d
init version: de40ad0
Security Options:
apparmor
seccomp
Profile: builtin
Kernel Version: 5.4.0-137-generic
Operating System: Ubuntu 20.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 80
Total Memory: 251.6GiB
Name: blu3-001
ID: 5633:5QID:26UF:2LQP:2JJE:5EQO:KXYX:KNGY:5FLX:DEFQ:NWUK:LUWJ
Docker Root Dir: /data1/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
Additional Info
Before COPY
:
=> [train 2/12] RUN ls -alh /tmp && sleep 20 8.0s
=> => # total 8.0K
=> => # drwxrwxrwt 2 root root 4.0K Jan 26 02:06 .
=> => # drwxr-xr-x 1 root root 4.0K Feb 8 06:56 ..
After COPY
:
=> [train 4/12] RUN ls -alh /tmp && sleep 20 9.3s
=> => # total 12K
=> => # drwxr-xr-x 2 root root 4.0K Feb 8 05:28 .
=> => # drwxr-xr-x 1 root root 4.0K Feb 8 06:57 ..