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?

  • Where can I get the newest “Setting Up a Dev Environment” for Docker?
  • Keeping Docker Containers Current
  • Docker Networking: Auto-discovering host names in a bridge network
  • is it reasonable to run docker processes under runit/daemontools supervision
  • Execute a script before CMD
  • I can't run rails console with Docker and Passenger/nginx image
  • 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.

  • A better way to deploy a Debian-python hybrid application
  • Cannot connect to MongoDB via node.js in Docker
  • get the url to connect to marathon app via jdbc
  • How do you register a Postgres container host on docker-compose up?
  • docker access to the requested resource is not authorized
  • Make docker container run forever while being able to gracefully stop
  • 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.