Ich benutze Docker Version 1.13.1, bauen 092cba3 auf Windows 10.ein Datenvolumen zwischen zwei Docker-Container Teile
ich einen benutzerdefinierten Jenkins Container haben, die Code von Github in einem Volumen aufbaut.
Das Volumen ist /var/jenkins_home/workspace/myjob
.
Ich habe auch einen Apache-Container, mit dem ich den Datenträger teilen möchte.
Die docker-compose.yml
Datei ist:
version: '2'
services:
jenkins:
container_name: jenkins
image: jenkins:v1
environment:
JAVA_OPTS: "-Djava.awt.headless=true"
JAVA_OPTS: "-Djenkins.install.runSetupWizard=false" # Start jenkins unlocked
ports:
# - "50000:50000" # jenkins nodes
- "8686:8080" # jenkins UI
volumes:
- myjob_volume:/var/jenkins_home/workspace/myjob
apache:
container_name: httpd
image: httpd:2.2
volumes_from:
- jenkins
volumes:
myjob_volume:
ich im Grunde der Jenkins Container wollen Sie den Code in einem Volumen holen, die dann von der Apache (httpd) Behältern sichtbar. Jede Änderung, die ich an meinem IDE-Code an Github mache, wird im Apache-Container sichtbar sein. Das Volume wird im Apache-Container erstellt, aber wenn ich den Code im Jenkins-Container erfolgreich erstellt habe, wird er nicht im Volume in Apache angezeigt.
EDIT: Nach dem Start der 2 Behälter mit docker-compose up -d
,
- aktiviere ich ihre Volumina von Kitematic
- ich die Lautstärke Pfad für Apache ändern zum Jenkins Volumen-zu-Punkt
- und wenn Ich baue den Code von Jenkins, Apache sieht es so, wie ich es möchte.
Also ... wie soll ich das gleiche aus der Datei docker-compose
machen?
hat es sein muss '/ usr/local/apache2/htdocs /'? Könnte nicht einfach etwas wie "/ var/test" sein und dasselbe sein? –
Sicher, das sollte möglich sein, aber Sie müssen eine benutzerdefinierte Konfigurationsdatei für Apache – thaJeztah
bereitstellen Das Beispiel in dieser Antwort ist im Grunde das gleiche wie das Zwei-Service-Setup 'Daten-Volumen' Beispiel in der [offiziellen Dokumentation] (https://docs.docker.com/compose/compose-file/#volume-configuration-reference). – hlovdal