相关疑难解决方法(0)

Docker中的Docker - 卷不能正常工作:第1级容器中的文件已满,第2层中为空

我在Docker中运行Docker(专门用于运行Jenkins,然后运行Docker构建器容器来构建项目映像,然后运行这些,然后运行测试容器).

这就是jenkins图像的构建和启动方式:

docker build --tag bb/ci-jenkins .
mkdir $PWD/volumes/
docker run -d --network=host  \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /usr/bin/docker:/usr/bin/docker \
  -v $PWD/volumes/jenkins_home:/var/jenkins_home \
  --name ci-jenkins bb/ci-jenkins
Run Code Online (Sandbox Code Playgroud)

詹金斯工作正常.但是有一个Jenkinsfile基础的工作,运行这个:

docker run -i --rm -v /var/jenkins_home/workspace/forkMV_jenkins-VOLTRON-3057-KQXKVJNXOU4DGSUG3P27IR3QEDHJ6K7HPDEZYN7W6HCOTCH3QO3Q:/tmp/build collab/collab-services-api-mvn-builder:2a074614 mvn -B -T 2C install
Run Code Online (Sandbox Code Playgroud)

最终会出现错误:

您指定的目标需要执行项目,但此目录中没有POM(/ tmp/build).

当我docker exec -it sh对容器做的时候,它/tmp/build是空的.但是当我在Jenkins容器中时,路径/var/jenkins_home/...QO3Q/存在并且它包含工作区,其中所有文件都已签出并准备好.

所以我想知道 - Docker如何快乐地安装音量然后它是空的?*

更令人困惑的是,这个设置适用于Mac上的同事.我在Linux上,Ubuntu 17.10,Docker最新.

docker docker-volume jenkins-pipeline docker-in-docker

5
推荐指数
1
解决办法
3390
查看次数