Docker requires root escalation in order to execute an image, that crates some problem with files creation. Let’s say that we share a volume from host to docker and we create a file structure from inside docker.

This can be illustrated by an code snippet

docker run --rm -w $(pwd) -v $(pwd):$(pwd) debian \
    bash -c "mkdir test && touch test/example"
# Running on host
ls -la test

 total 8
 drwxr-xr-x.  2 root   root   4096 Jan 22 22:50 .
 drwxrwxr-x. 12 trzeci trzeci 4096 Jan 22 22:50 ..
 -rw-r--r--.  1 root   root      0 Jan 22 22:50 example
# Running on host
rm -fr test
 rm: cannot remove 'test/example': Permission denied

Why this is even an issue? I’ve found this problem mostly annoying on local setup, as I need to use sudo for simple hause-keeping tasks. Another case when it’s very problematic is to use docker on Jenkins – as this prevents to remove workspace after a job is done.

 
81 Kudos
Don't
move!