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

  • Database not persisting in docker
  • docker & Quagga BGP
  • How to use distribute classes with Apache Spark (pyspark) & Docker
  • WSO2 not compatible with Docker
  • Docker Add command doesn't work in nested destination directory
  • run vlc in a Docker image to send a video stream via rtsp protocol
  • 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?

  • Docker container with Node and Express on Mac, not showing in browser?
  • Java stack trace overlaps error message
  • “line 36: cd: HOME not set” in start.sh running Boot2Docker installed using Docker for Windows Installer v1.6.0
  • How to push image from private registry to hub.docker.com?
  • How to change port mapping when linking Docker containers
  • Backup stateful docker volume
  • 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.