If your using Docker on Windows and looking to share folders between your host machine and your running containers you’ll likely want to us the –v flag to mount a volume like this:
docker run –it --rm –v /d/some/folder/path:/app –w /app node /bin/bash
Luckily the error message is nice and helpful:
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: C: drive is not shared. Please share it in Docker for Windows Settings. See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
The fix is simple:
- Open up the system tray and find the whale, right click on it and select Settings…
- Choose the Shared Drives tab on the left.
- Check all of the drives that you would like to make available to Docker.
- Then you will need to provide a username and password which Docker will then use to access files the files on the host machine, so take care here if you have funky file permissions.
So if you’re like me and using Waldek’s spfx container you can now edit the code from your host while the toolchain executes in the container.
There’s one small tip I have to you folks out there you can use ${PWD} in PowerShell to reference the directory in which you are running your command. so assuming that you are in the root folder of your spfx project it looks like this:
docker run -h spfx -it --rm --name spfx-helloworld -v ${PWD}:/usr/app/spfx -p 5432:5432 -p 4321:4321 -p 35729:35729 waldekm/spfx
Update: There’s also a more cryptic, and slightly misleading, message you might encounter if you use an account with an expiring password, like say, your domain account and you change the password…
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.26/containers/create?name=ng-cli-test: open //./pipe/docker_engine: Access is denied. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.. See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
Pingback: docker - ¿Cómo podemos empezar el demonio?