gpt4 book ai didi

python - 与gitlab-ci中的父范围docker容器共享docker容器中的目录?

转载 作者:太空宇宙 更新时间:2023-11-04 04:35:46 31 4
gpt4 key购买 nike

我在使用类似docker run --rm --network host --volume $PWD/some_dir:/tmp/some_dir ... 运行 docker 容器时使用卷。在容器内,我正在运行 Python 代码,该代码创建目录 /tmp/some_dir(覆盖它以防它已经存在)并将文件放入其中。如果我在我的本地开发机器上运行 docker 容器,则在运行容器后,我的开发机器上的文件在 /tmp/some_dir 中可用。

但是,如果我运行相同的容器作为 gitlab-ci 作业的一部分(“docker in docker”,容器不是用于作业本身的图像),则无法访问文件/tmp/some_dir(该目录存在)。

丢失文件的原因可能是什么?

最佳答案

docker run -v选项的前半部分,如果是目录路径,就是专门在宿主机上的一个目录。如果一个容器可以访问 Docker 套接字并启动另一个容器,则它提供的任何目录映射都在主机文件系统的空间中,而不是容器文件系统的空间中。 (如果您实际上正在使用 Docker-in-Docker,它可能是运行嵌套 Docker 守护程序的容器的文件系统空间,但它仍然不是调用容器的文件系统空间。)

最直接的选择是 docker cp在内部容器停止后但在你 docker rm 之前将文件从内部容器中取出;它可以复制整个目录树。

关于python - 与gitlab-ci中的父范围docker容器共享docker容器中的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51767194/

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