在OSX,docker运行-v $(pwd):…不会扩大

在OSX上,运行docker容器并装载当前目录时,expression式$(pwd)不会被展开:

bash docker run -v $(pwd):/var/mydir image

在容器上, /var/mydir保持为空。

我已经通过自制软件安装了bash-completion,而docker-specific bash也完成了。

我看到在所有的地方使用$(pwd) OSX的例子,但我不能让它的工作。

请注意,当前目录位于/Users ,例如/Users/joe/projects/demo

试着先testing一下:

 path=$(pwd); echo ${path} 

如果那个工作,那么你可以添加docker命令:

 path=$(pwd); docker run -v ${path}:/var/mydir image 

另外,如果你从主机shell(Mac)执行这个命令,而不是docker machine shell(通过docker-machine ssh session),确保你执行了eval "$(docker-machine env <machinename>)"第一。