使用相对路径时Docker的卷无效字符

保罗·M

我已经得到了一个通过bash脚本运行的docker容器。容器应设置一个php Web应用程序,然后继续调用其他脚本和容器。这对于其他人似乎很好,但是对我来说它抛出错误。

这是代码

sudo docker run -d \
   --name eluci \
   -v ./config/eluci.settings:/mnt/eluci.settings \
   -v ./config/elucid.log4j.settings.xml:/mnt/eluci.log4j.settings.xml \
   --link eluci-database:eluci-database \
   /opt/eluci/run_eluci.sh

这是错误

docker: Error response from daemon: create ./config/eluci.settings: 
"./config/eluci.settings" 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.

我在Windows 7主机上使用virtualbox在centos VM上运行docker。

从谷歌搜索来看,这似乎与挂载有关,但是我不想更改它以防它的设置被破坏或在另一个Docker容器中被依赖。我还有更多的bash脚本要运行,这些脚本应该协调其余的构建过程。作为Docker的新手,这让我很困惑。

大城屋

该命令docker run -v /path/to/dir不接受相对路径,您应该提供绝对路径。该命令可以重写为:

sudo docker run -d \
   --name eluci \
   -v "/$(pwd)/config/eluci.settings:/mnt/eluci.settings" \
   -v "/$(pwd)/config/elucid.log4j.settings.xml:/mnt/eluci.log4j.settings.xml" \
   --link eluci-database:eluci-database \
   /opt/eluci/run_eluci.sh

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章