Docker, mount volumes as readonly

I am working with Docker,and I want to mount a dyanmic folder that changes a lot (so I do not have to make dockers for each ones execution, which would be too costly), but I want that folder to be readonly. Changing the folder owners to someone else works however chown requires root access, which I would not prefer to expose to an application.

When I use -v flag to mount, it gives whatever the username I give, I created a non root user inside the docker image, however all the files in the volume with the owner as the user that ran docker, changes into the user I give from commandline, so I cannot make readonly files and folders. How can I prevent this?

  • Dockerfile for Rails app - Permission Denied
  • How to keep ubuntu image running?
  • Generic cluster of docker containers on marathon
  • Access Wildfly-Docker-Container from Apache-Docker-Container
  • docker run makes i/o timeout error during installing tensorflow on windows10
  • Deleting docker volumes on Dokku
  • I also added mustafa ALL=(docker) NOPASSWD: /usr/bin/docker, so I could change to another user via terminal, but still the files have permissions for my user.

  • Updating code in a docker container
  • Gitlab: docker login via token fails
  • Docker php url access
  • subgit timeout waiting for pid file
  • Random GET /nginx_status call from 127.0.0.1 inside docker container
  • Constraint in docker-compose gives container not found error in ucp
  • One Solution collect form web for “Docker, mount volumes as readonly”

    You can specify that a volume should be read-only by appending :ro to the -v switch:

    docker run -v /path/on/host:/path/on/container:ro my/image
    

    Note that the folder is then read-only in the container and read-write on the host.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.