Docker compose not mounting volumes

Just setup docker toolbox in Windows 10 and I am having a little issue with my docker containers. When I do docker-compose up, the instance will start but nothing is mounted in my /var/www/html directory. If I open Kitematic I see the container and when I click on volumes I do not see the local folder set. Here is what my docker-compose.yml looks like.

    build: .
        - "80:80"
        - app/:/var/www/html/

Do I need to specify the absolute path to my local directory? The app directory is in the same folder as the docker-compose.yml file.

  • Unable to install Docker on Ubuntu 17 [closed]
  • Docker bash prompt not display color
  • docker with postgres and bash
  • docker-compose volumes_from equivalent with version 3
  • how to save a docker redis container
  • How do I assign a port mapping to an existing Docker container?
  • apt-get not working in Dockerfile
  • Eclipse - Docker integration
  • Docker - failed to connect to running image
  • How do I connect a database to the Dockerfile example for Drupal 7?
  • Changing the user's uid in a pre-build docker container (jenkins)
  • Expose docker daemon on other adress on windows
  • 2 Solutions collect form web for “Docker compose not mounting volumes”

    In addition to @VonC answer, it’s different when using docker-compose since the docs mention

    You can mount a relative path on the host, which will expand relative
    to the directory of the Compose configuration file being used.
    Relative paths should always begin with . or ..

    Do I need to specify the absolute path to my local directory?

    Yes. The doc mentions:

    The host-dir can either be an absolute path or a name value.

    • If you supply an absolute path for the host-dir, Docker bind-mounts to the path you specify.
    • If you supply a name, Docker creates a named volume by that name.

    In your case, app/ would be considered as a name, not as a host folder.

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