我正在运行一个Jenkins集群,在Master和Slave中,它们都作为Docker容器运行.
主机是在MacOS上运行的最新boot2docker VM.
为了让Jenkins能够使用Docker执行部署,我已将docker.sock和docker客户端从主机安装到Jenkins容器,如下所示: -
docker run -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -v $HOST_JENKINS_DATA_DIRECTORY/jenkins_data:/var/jenkins_home -v $HOST_SSH_KEYS_DIRECTORY/.ssh/:/var/jenkins_home/.ssh/ -p 8080:8080 jenkins
Run Code Online (Sandbox Code Playgroud)
将卷安装到在Jenkins容器内运行的Docker容器时,我遇到了问题.例如,如果我需要在Jenkins容器中运行另一个Container,我会执行以下操作: -
sudo docker run -v $JENKINS_CONTAINER/deploy.json:/root/deploy.json $CONTAINER_REPO/$CONTAINER_IMAGE
Run Code Online (Sandbox Code Playgroud)
上面运行容器,但文件"deploy.json"不是作为文件挂载,而是作为"目录"挂载.即使我将目录作为卷安装,我也无法查看生成的容器中的文件.
这是一个问题,因为Docker在Docker案例中由于文件权限?
任何指针都会有用!
谢谢!