gpt4 book ai didi

docker - Docker run -v将文件挂载为目录

转载 作者:行者123 更新时间:2023-12-02 19:34:51 25 4
gpt4 key购买 nike

我正在尝试使用-v标志将包含一些凭证文件的目录挂载到容器上,但是不是将文件挂载为文件,而是将其挂载为目录:

运行脚本:

$ mkdir creds/
$ cp key.json creds/key.json
$ ls -l creds/
total 4
-rw-r--r-- 1 root root 2340 Oct 12 22:59 key.json
$ docker run -v /*pathToWorkingDirectory*/creds:/creds *myContainer* *myScript*

当我查看 docker run命令的调试提示时,我看到它创建了 /creds/目录,但是由于某种原因,在该目录下将 key.json创建为子目录,而不是复制文件。

我看到其他一些帖子说,如果您告诉 docker run挂载找不到的文件,它将在容器上创建一个带有文件名的目录,但是由于我没有指定文件名并且它知道要命名文件名新目录'key.json'似乎能够找到该文件,但无论如何都将其创建为目录?有人遇到过吗?

如果相关,脚本将在GitLab的CI流程中在另一个容器中的Docker-in-Docker中运行。

最佳答案

您正在运行Docker-in-Docker,这意味着当您指定-v卷时,Docker将在主机上查找此目录,因为启用Docker-in-Docker的共享 socks 实际上意味着您的run命令在运行器旁边启动了一个容器容器。

我在this SO answer中对此进行了更详细的说明:

https://stackoverflow.com/a/46441426/2078207

还要注意此答案下方的评论,以获取解决方案的方向。

关于docker - Docker run -v将文件挂载为目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46720310/

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