Skip to content

"docker cp" not working when bind mounting cgroup dir with btrfs storage driver #38252

@s-bernard

Description

@s-bernard

BUG REPORT INFORMATION

Description

Since 18.09 version, docker cp is not working at all for container with /sys/fs/cgroup bind mounted and if storage driver is btrfs. By bind mounting another dir, or by using vfs or overlay2, it is working fine.

Steps to reproduce the issue:

  1. docker run -ti --name test --mount type=bind,source=/sys/fs/cgroup,target=/sys/fs/cgroup,readonly centos /usr/bin/echo created
  2. touch foo.file
  3. docker cp foo.file test:/tmp

Describe the results you received:

Error response from daemon: invalid argument

Describe the results you expected:

It should copy foo.file into the test container in /tmp

Additional information you deem important (e.g. issue happens only occasionally):

--mount type=bind,source=/sys/fs/cgroup,target=/sys/fs/cgroup,readonly and BTRFS storage driver are both needed to trigger the bug.

Output of docker version:

Client:
 Version:           18.09.0-ce
 API version:       1.39
 Go version:        go1.11.2
 Git commit:        4d60db472b
 Built:             Fri Nov  9 00:05:34 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.09.0-ce
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.2
  Git commit:       4d60db472b
  Built:            Fri Nov  9 00:05:11 2018
  OS/Arch:          linux/amd64
  Experimental:     false

Output of docker info:

Containers: 8
 Running: 1
 Paused: 0
 Stopped: 7
Images: 4
Server Version: 18.09.0-ce
Storage Driver: btrfs
 Build Version: Btrfs v4.19 
 Library Version: 102
Logging Driver: journald
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9f2e07b1fc1342d1c48fe4d7bbb94cb6d1bf278b.m
runc version: 079817cc26ec5292ac375bb9f47f373d33574949
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.19.2-arch1-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.4GiB
Name: sb-makeorg
ID: 5Q6O:FKV5:4LDG:YAKS:LNP2:XAVS:KVJJ:SRE5:MR77:NIDL:W6WX:E3CJ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: sbernard
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):
physical laptop

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions