gpt4 book ai didi

docker - 在带有jenkins的kubernetes实例上使用docker-compose-安装空卷

转载 作者:行者123 更新时间:2023-12-02 20:05:22 25 4
gpt4 key购买 nike

我有一个使用Google的Jenkins on Kubernetes解决方案的Jenkins实例设置。我尚未更改Kubernetes Pod的任何设置。

当我触发一项新工作时,我可以成功地启动并运行所有内容,直到进行测试为止。

我的测试使用docker-compose。首先,我确保在实例上安装docker(1.5-1 + b1)和docker-compose(1.8.0-2)(我知道我可以使用已经包含这些镜像的镜像来优化此操作,但我仍然处于概念验证)。

当我运行docker-compose up命令时,一切正常,服务启动其初始化脚本。但是,的坐骑是空的。我已经验证文件在Jenkins从站上存在,并且在我运行docker-compose时在docker服务中创建了挂载,但是它们是空的

一些信息:

为了避开文件权限,我使用/tmp作为Jenkins工作区。我正在使用SCM成功提取我的文件,并且在docker-compose文件中,我指定了version: '2'和带有绝对路径的安装路径。服务失败的卷部分如下所示:

volumes:
- /tmp/automation:/opt/automation

我将服务中运行的命令更改为 ls /opt/automation,结果是一个空目录。

我想念什么? 我只想将目录挂载到我的docker-compose服务中。这在Windows,Ubuntu和Centos设备上完美运行。为什么不能使用Kubernetes实例工作?

最佳答案

我发现失败here的原因:

A Docker container in a Docker container uses the parent HOST's Docker daemon and hence, any volumes that are mounted in the "docker-in-docker" case is still referenced from the HOST, and not from the Container.

Therefore, the actual path mounted from the Jenkins container "does not exist" in the HOST. Due to this, a new directory is created in the "docker-in-docker" container that is empty. Same thing applies when a directory is mounted to a new Docker container inside a Container.


因此,似乎不可能将某些东西从外部docker装入内部docker。并且必须找到另一个解决方案。

关于docker - 在带有jenkins的kubernetes实例上使用docker-compose-安装空卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50197692/

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