linux – Docker $(pwd)和bash别名

我在Ubuntu 16.04中运行Docker CE.我为聚合物cli创建了一个Docker镜像.
我们的想法是能够使用挂载当前目录的bash别名从一次性docker容器内运行聚合物命令,运行命令然后销毁容器,如下所示:

docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer

这工作得很完美,但是如果我为这个命令创建一个bash别名:

alias polymer="docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer "

然后$(pwd)指向我的主目录而不是我当前的目录.

谁知道我怎么解决这个问题?

解决方法:

问题是,因为您使用了双引号,所以命令替换是在别名声明时完成的,而不是之后.

使用单引号:

alias polymer='docker run --rm -it -v $(pwd):/home/node/app -u node fresnizky/polymer-cli polymer'

此外,您可以使用环境变量PWD代替使用命令替换$(pwd),该变量将扩展为与pwd相同的值.实际上,pwd命令也从PWD变量中获取其值.

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...