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?

  • Docker Object reference not set to an instance of an object
  • Dockerized .net core app doesn't load on Azure
  • Fail to build MongoDB replcaset with Auth on Swarm
  • Pycharm 2017.1 EAP Python Console and Remote Docker Interpreter not working together
  • Docker containers, memory consumption and logs
  • docker started via shelljs not responding to input in interactive mode
  • 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.

  • Connect to Windows 10 Docker daemon from ubuntu bash
  • remote docker commands execution
  • Enable CORS on Cloudant local
  • Linked Docker Containers with Mesos/Marathon
  • How to start a container automatically in boot2docker on boot?
  • How can I get 2 containers to link when I get an EOF error
  • 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.