possiamo avere un volume di dati in finestra mobile:finestra mobile vs directory host montata
$ docker run -v /path/to/data/in/container --name test_container debian
$ docker inspect test_container
...
Mounts": [
{
"Name": "fac362...80535",
"Source": "/var/lib/docker/volumes/fac362...80535/_data",
"Destination": "/path/to/data/in/container",
"Driver": "local",
"Mode": "",
"RW": true
}
]
...
Ma se la vita di volume dati in /var/lib/docker/volumes/fac362...80535/_data
, c'è da diverso dall'avere i dati in una cartella montato utilizzando -v /path/to/data/in/container:/home/user/a_good_place_to_have_data
?
Può chiarire che cosa significa la documentazione Docker da che le directory ospitanti sono * host-dipendente *? Le autorizzazioni per i file sono intese perché in alcuni casi è un problema da replicare su un altro host quando si sposta un contenitore più la directory montata su un altro host? Inoltre, qual è la differenza tra i volumi denominati e le directory montate? Capisco che soprattutto la condivisione di dati persistenti tra più contenitori sia un caso d'uso per contenitori di volumi di dati. Ma nel caso di dati persistenti rilevanti solo per un singolo contenitore sono un po 'perso :-). – PermaFrost
@PermaFrost dipendente dall'host significa che non è possibile scrivere un Dockerfile con un percorso del volume dall'host, poiché il Dockerfile potrebbe essere creato su qualsiasi host, ciascuno con le proprie caratteristiche: un percorso valido su un host potrebbe non essere disponibile su un altro. Per questo motivo il montaggio di una cartella host è un'operazione * runtime * (funzione docker), non una fase di compilazione (build docker) – VonC
@PermaFrost un volume denominato è indipendente dall'host e persistente. Anche per un solo contenitore, ciò significa che posso esportare e ripristinare un volume denominato su qualsiasi host. Vedi https://madcoda.com/2016/03/docker-named-volume-explained/ – VonC