最佳答案
我正在运行一个 Jenkins 集群,在 Master 和 Slave 中,它们都作为 Docker 集装箱运行。
Host 是运行在 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
我面临的问题,而安装一个卷的多克集装箱内运行的詹金斯容器。例如,如果需要在 Jenkins 容器内运行另一个 Container,则执行以下操作:-
sudo docker run -v $JENKINS_CONTAINER/deploy.json:/root/deploy.json $CONTAINER_REPO/$CONTAINER_IMAGE
上面的代码运行容器,但是文件“ loy.json”不是作为文件挂载的,而是作为“ Directory”挂载的。即使我以卷的形式挂载目录,也无法查看结果容器中的文件。
这是一个问题,因为文件权限由于多克在多克的情况下?