Docker compose - share volume Nginx

Viewed 15193

I just want to test Docker and it seems something is not working as it should. When I have my docker-compose.yml like this:

web:
  image: nginx:latest
  ports:
    - "80:80"

when in browser I run my docker.app domain (sample domain pointed to docker IP) I'm getting default nginx webpage.

But when I try to do something like this:

web:
  image: nginx:latest
  volumes:
    - /d/Dev/docker/nginx-www/nginx/html/:/usr/share/nginx/html/ 
  ports:
    - "80:80"

when I run:

docker-compose up -id

when I run same url in browser I'm getting:

403 Forbidden

nginx/1.9.12

I'm using Windows 8.1 as my host.

Do I do something wrong or maybe folders cannot be shared this way?

EDIT

Solution (based on @HemersonVarela answer):

The volume I've tried to pass was in D:\Dev\docker location so I was using /d/Dev/docker at the beginning of my path. But looking at https://docs.docker.com/engine/userguide/containers/dockervolumes/ you can read:

If you are using Docker Machine on Mac or Windows, your Docker daemon has only limited access to your OS X or Windows filesystem. Docker Machine tries to auto-share your /Users (OS X) or C:\Users (Windows) directory.

so what I needed to do, is to create my nginx-ww/nginx/html directory in C:\users\marcin directory, so I ended with:

web:
  image: nginx:latest
  volumes:
    - /c/Users/marcin/docker/nginx-www/nginx/html/:/usr/share/nginx/html/ 
  ports:
    - "80:80"

and this is working without a problem. Files are now shared as they should be

2 Answers
Related