我正在尝试使用 -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*
当我查看命令的 debug spew 时docker run
,我看到它创建了/creds/
目录,但由于某种原因,它创建为该目录key.json
下的子目录,而不是复制文件。
我看过其他一些帖子说,如果你告诉docker run
挂载一个它找不到的文件,它会在容器上创建一个带有文件名的目录,但是由于我没有指定文件名并且它知道命名新的目录'key.json'似乎能够找到该文件,但无论如何将其创建为目录?有没有人遇到过这个?
如果它是相关的,作为 GitLab 的 CI 过程的一部分,该脚本正在另一个容器中的 Docker-in-Docker 中运行。