"rootless" docker gets permission denied, but account running docker does not - why?

709 views Asked by At

I am running docker "rootless" according to this guide: https://docs.docker.com/engine/security/rootless/

The user which actually runs docker is svc_test.

When I try and start a docker container which has diretory mounts which don't exists - the docker daemon (a.k.a. svc_test user) attempts to mkdir these directories, but fails with

docker: Error response from daemon: error while creating mount source path '/dir_path/dir_name': mkdir /dir_path/dir_name: permission denied.

When I (svc_test) them attempt to do mkdir /dir_path/dir_name I succeed without any issues.

What is going on here and why does this happen? Clearly I am missing something, but I can't trace what is that exactly.

Update 1: This is the specific docker cmd I use to run the container:

docker run -d --restart unless-stopped \
    --name questdb \
    -e QDB_METRICS_ENABLED=TRUE \
    --network="host" \
    -v /my_mounted_volume/questdb:/questdb \
    -v /my_mounted_volume/questdb/public:/questdb/public \
    -v /my_mounted_volume/questdb/conf:/questdb/conf \
    -v /my_mounted_volume/questdb/db:/questdb/db \
    -v /my_mounted_volume/questdb/log:/questdb/log \
    questdb/questdb:6.5.2 /usr/bin/env QDB_PACKAGE=docker  /app/bin/java \
    -m io.questdb/io.questdb.ServerMain \
    -d /questdb \
    -f

For clarity: my final goal is to be able to run the docker container in question from the same user form which I run my docker daemon (the svc_test user). Hence how I stumbled on this problem.

0

There are 0 answers