I think all previous replies have dealt with just the visibility part of the question (and correctly, through working out some quirks that can happen when sharing the host drive in docker settings).
As for the root write permissions… this is an ongoing issue in Docker for Windows even two years after this question. Docker for Windows apparently not only forces root permissions inside the guest for mounted host folders (in this it is no different from Docker for Linux or Mac) but furthermore, chown and chmod will not work even if you
docker exec into a shell in the container. I read all I could on this last week and ultimately decided to simply quit beating my head against the bricks and stop using Docker for Windows for the time being. I have returned to running Docker strictly on Linux. And there are many side benefits of that, not least of which is that all of the docs and tutorials work without hidden gotchas and extra hours of discussion searching.
We can all hope that Docker for Windows will achieve more behavior parity in the future, but some aspects, like user/group/permission handling, just aren’t going to match up because of how different the Windows ACL system is. At some point the only thing that really handles that difference fully enough is another layer of abstraction – typically just running docker in a Linux VM, if forced to do your work on a machine that boots to Windows. I know that defeats much of the purpose of docker, but if it’s only one of your machines and you also develop elsewhere on your linux laptop (etc) then maybe it’s no big deal. For me, my desktop machines are powerful enough that my VMs feel almost native so it’s no big deal. And I still appreciate all the benefits of containerization even if I’m wasting just that one (the one about not needing to run a full VM).