Ich verwende einen Jenkins-Cluster, in dem Master und Slave beide als Docker-Container ausgeführt werden.Docker in Docker kann das Volume nicht mounten
Der Host ist die neueste boot2docker VM, die auf MacOS ausgeführt wird.
Damit Jenkins der Lage sein Einsatz auszuführen Docker verwenden, habe ich den docker.sock und Docker-Client von dem Host zu dem Jenkins-Container wie folgt montiert: -
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
ich Fragen stehe vor bei der Montage ein Volume für Docker-Container, die im Jenkins-Container ausgeführt werden. Zum Beispiel, wenn ich einen anderen Container in der Jenkins Container ausgeführt werden müssen, ich folgendes: -
sudo docker run -v $JENKINS_CONTAINER/deploy.json:/root/deploy.json $CONTAINER_REPO/$CONTAINER_IMAGE
Die oben den Behälter läuft, aber die Datei „deploy.json“ wird nicht als Datei montiert, aber stattdessen als "Verzeichnis". Selbst wenn ich ein Verzeichnis als Volume mounte, kann ich die Dateien im resultierenden Container nicht anzeigen.
Ist dies ein Problem, wegen Dateiberechtigungen wegen Docker in Docker Fall?
Alle Zeiger wären nützlich!
Danke!
Danke. Sehr hilfreich. Definitiv nicht bemerkt, dass es sich so verhalten würde. –
Gut zu wissen, dass es hilfreich war. Vielen Dank! – ZephyrPLUSPLUS
Also, was ist die Lösung? Da docker Dokumentation bezieht sich auf https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/ was besagt, Docker auf diese Weise zu verwenden. Auf diese Weise können jedoch keine Volumes von einem Andockcontainer zu einem anderen bereitgestellt werden. Datenvolumen? –