gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:24:43 25 4
gpt4 key购买 nike

我得到了一个通过 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

关于使用相对路径时,Docker 卷的无效字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46526165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com