2016-05-21 14 views
2

Auf der Host-Seite sollten sich alle Mount-Punkte an der gleichen Stelle befinden? Oder sollten sie die Orte widerspiegeln, die sich in den Containern befinden?Wo sollten Docker-Volumes auf dem Host leben?

Zum Beispiel, was ist der beste Ort, um /var/jenkins_home auf der Host-Seite zu mounten, um mit seinem Unix-Dateisystem konsistent zu sein?

  • /var/jenkins_home
  • /srv/jenkins_home
  • /opt/docker-volumes/jenkins/var/jenkins_home
  • Andere Standort?

Antwort

1

Es hängt absolut von Ihnen ab, wo Sie das Volume auf dem Host mounten möchten. Ordnen Sie es einfach keinen Speicherorten für Systemdateien zu.

Meiner Meinung nach sind die Volumes, die die Positionen innerhalb des Containers widerspiegeln, keine gute Idee, da Sie viele Container haben und alle eine ähnliche Dateisystemstruktur haben werden, so dass Sie Container-Schreibvorgänge nie isolieren können.

Da das offizielle Jenkins-Docker-Image mit dem Benutzer "jenkins" läuft, ist es keine schlechte Idee, jenkins user auf dem Host und map/home/jenkins auf dem Host von/var/jenkins_home zu erstellen auf dem Behälter.

0

Verwenden Sie keine expliziten Host-Container-Mounts, sondern verwenden Sie benannte Volumes. Dies hat mehrere Vorteile:

  • Sie lassen sich leicht in andere Behälter geteilt werden
  • Sie sind Host-unabhängige (wenn Sie nicht über die spezifische auf dieser Maschine montieren, wird es scheitern)
  • Sie können verwaltet werden als Bürger erster Klasse in der Docker Welt (docker volume)
  • Sie müssen sie auf dem Host keine Sorge darüber, wo zu setzen;)
Verwandte Themen