2016-03-15 4 views
10

Wenn Volumen durch das Volumen API zu schaffen, das heißt, als das Muster Behältervolumen ist jetzt nicht unbedingt die beste Praxis mehr:Wie ändere ich den Standardspeicherort für den Befehl "docker create volume"?

# docker volume inspect test-data 
[ 
    { 
     "Name": "test-data", 
     "Driver": "local", 
     "Mountpoint": "/var/lib/docker/volumes/test-data/_data" 
    } 
] 

Ich würde zum Beispiel gern, habe in/data Docker Band existieren (welches in einem anderen physischen Volumen montiert ist).

Dies ist nicht möglich mit symbolischen Links, es ist möglich, mit Bind-Mounts zu tun, aber würde ich mich wundern, wenn es in Docker eine Konfiguration gibt, um den Standard-Speicherort für jedes einzelne Volume zu ändern.

+3

Ich habe es einen symbolischen Link: '# cd/var/lib/Docker/volumes' ' # ln -s/mnt/myvolume myvolume' und dann das Volumen erstellen und Docker starten image: '# docker volume erstellen --name myvolume' ' # docker laufen -v myvolume:/myvolumemountpoint ... ' – DoctorBug

Antwort

4

ich nur eine Docker Option weiß /var/lib/docker selbst zu ändern, nicht seine Unterordner (Teil seines "graph" used by a docker daemon storage driver)

Siehe docker daemon "Miscellaneous options":

Docker unterstützen Softlinks für das Docker Datenverzeichnis (/var/lib/docker) und für /var/lib/docker/tmp.
Das DOCKER_TMPDIR und die Daten Verzeichnis kann wie folgt eingestellt werden:

(für Container/Volumen und das würde auch)
DOCKER_TMPDIR=/mnt/disk2/tmp /usr/local/bin/docker daemon -D -g /var/lib/docker -H unix:// > /var/lib/docker-machine/docker.log 2>&1 
# or 
export DOCKER_TMPDIR=/mnt/disk2/tmp 
/usr/local/bin/docker daemon -D -g /var/lib/docker -H unix:// > /var/lib/docker-machine/docker.log 

Wie bereits erwähnt in "Where are docker images stored on the host machine?":

Der Inhalt des /var/lib/docker Verzeichnis variieren je nach on the driver Docker is using for storage.

Verwandte Themen