Docker Community Forums

Share and learn in the Docker community.

Windows docker run -d -V volume mount of a file

Hi, I have built a docker image which runs fine in a container. I want to use this same image for QA and then ultimately release it to production.

However I would like to change the appsettings.ENV.json for each environment. I have done this in the past with docker create container, docker cp config file and docker start with no problems.

I have tried the following commands to run the contain from image with a -volume mapping and none of them work.

docker run -d -p 9090:80 --name QAAAuthService --volume type=bind,src=e:\configs\appsettings.QAA.json,dst=/app/appsettings.json qaaauthservice

docker run -d -p 9090:80 --name QAAAuthService -v //e/configs/appsettings.QAA.json://c/app/appsettings.json qaaauthservice

and

docker run -d -p 9090:80 --name QAAAuthService -v /configs/appsettings.QAA.json:/app/appsettings.json qaaauthservice

they all produce the SAME error: docker: Error response from daemon: invalid volume specification:

What am I doing wrong?

Below is my docker version

C:>docker version
Client: Docker Engine - Community
Version: 19.03.1
API version: 1.40
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:17:08 2019
OS/Arch: windows/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 19.03.1
API version: 1.40 (minimum version 1.24)
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:25:07 2019
OS/Arch: windows/amd64
Experimental: false

It makes sense to make sure your E drive is marked as a shared volume for Docker to use.