Is it possible to mount folder from container to host machine?

As an example, I have a simple Node.js / Typescript application defined as follows:

Dockerfile

  • How to make MySQL container run in the background when configured in docker-compose
  • Using Docker to mimic an existing Production server vs. deploying Docker containers to production?
  • How to use forever within a Docker container
  • I started a docker container with --rm Is there an easy way to keep it, without redoing everything?
  • How do I push and pull from docker hub in Jenkins declarative pipeline
  • In docker container how to run another container command?
  • FROM node:6.2
    
    RUN npm install --global typings@1.3.1
    
    COPY package.json /app/package.json
    
    WORKDIR /app
    
    RUN npm install
    
    COPY typings.json /app/typings.json
    
    RUN typings install
    

    Node packages and typings are preinstalled to image. node_modules and typings folders are by default present only in running container.

    docker-compose.yml

    node-app:
        ...
        volumes:
            - .:/app
            - /app/node_modules
            - /app/typings
    

    I mount current folder from host to container, which creates volumes from existing folders from /app. Those are mounted back to container so the application can work with them. The problem is that I’d like to see typings folder on host system as a read-only folder (because some IDEs can show you type hints that can be found in this folder). From what I’ve tested, those folders (node_modules and typings) are created on host machine after I run the container, but they are always empty. Is it possible to somehow see their contents (read-only preferably) from container volumes only if the container is running?

  • Start uwsgi from Docker
  • How to dockerized java microservices efficiently
  • docker-compose up container start ordering
  • iptables redirect to different host/tproxy in docker container
  • How to make redis BROKER_URL dynamic on deployment to AWS instance
  • How to make volumes permanent with Docker Compose v2
  • One Solution collect form web for “Is it possible to mount folder from container to host machine?”

    You can’t make a host directory read-only from Compose. Compose orchestrates containers, not the host system.

    If you want to share directories with the host, create them on the host first and mount them as bind volumes (like you’ve done with .:/app)

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