docker - Docker内部的Docker中的卷?

标签 docker docker-compose buildbot dind

我正在运行buildbot,它是EC2计算机上的CI工具。它当前作为docker容器运行,一个用于buildbot master,一个用于buildbot worker。在buildbot worker中,我必须再次运行docker来构建镜像和运行容器。

在研究了如何最好地做到这一点之后,我将docker sock文件从主机安装到了buildbot worker容器。现在,从buildbot worker内部,我可以连接到主机docker守护程序并使用构建缓存。

现在的主要问题是在buildbot worker中,我有一个docker compose文件,对于一个服务,我正在像这样装载文件
./configs/my.cnf:/etc/my.cnf但是失败了。还要做更多研究,这是因为configs/my.cnf是相对于buildbot worker目录的,并且因为我正在使用主机docker守护程序,该主机通过主机路径解析文件,因此无法找到该文件。

我不知道如何最好地做到这一点。对于使用数据量有一些建议,但是我不确定如何最好地使用它们。
关于我们如何做到这一点的任何想法?

最佳答案

您对buildbot worker的创建有任何控制权吗?您可以控制buildbot worker目录吗?

export BUILD_BOT_DIR=$(mktemp -d) &&
    docker container create -v /var/run/docker.sock:/var/run/docker.sock -v ${BUILD_BOT_DIR}:${BUILD_BOT_DIR} -e BUILD_BOT_DIR ...

在这种情况下,路径“./configs/my:conf”指向容器和主机上的相同文件。

关于docker - Docker内部的Docker中的卷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50935235/

相关文章:

r - 使用 docker 文件安装 R 包

git - 在 buildbot 中 check out 多个 git 存储库时如何使用复制模式

linux - 守护进程 buildbot 启动

mysql - 自定义 Docker MySQL 构建无法运行

docker - 移动谷歌容器之前的 oAuth 2 实现

docker - 在一个容器中运行多个类似的进程是否有意义?

尽管服务正在运行,但 Docker 容器会立即退出

docker - 能够分配比docker-compose mem_limit更多的内存

Docker,复制失败 : forbidden path outside the build context

python - 如何将 buildbot 属性转换为字符串值