Docker Windows 10 上的卷映射文件夹问题

Docker volume mapping folder issue on Windows 10

我正在尝试 运行 以下命令

docker run -p 3000:3000 -v/app/node_modules -v $(pwd):/app 2ef0206fcf99

我收到以下错误

docker: Error response from daemon: create $(pwd): "$(pwd)" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.

我该如何解决这个问题?

1) 使用 Windows Powershell,以下对我有用:

docker run --rm -it -v ${pwd}:/mydir nginx:latest bash

注:

  • 我在 pwd 周围使用了花括号而不是小括号

2) 使用 Git Bash,下面的语法应该有效:

winpty docker run --rm -it -v "/$PWD":/mydir nginx:latest bash

注:

  • 如果你不在命令的开头使用winpty,你会得到错误信息:the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'

  • 还要注意 $PWD 之前的 /。没有 /,它不会抛出错误,但我注意到它没有挂载目录。

我在 windows 上也遇到了同样的问题,请确保你输入“$PWD”这样的东西,这样你的命令应该是这样的

docker run --rm -it -p 3000:3000 -v "$PWD:/app" 2ef0206fcf99

或者另一种方式是

docker run --rm -it -p 3000:3000 --volume="$PWD:/app" 2ef0206fcf99