Узнав о докере (на Ubuntu 18.04 LTE (bionic)) и, в частности, об управлении постоянными данными, я обнаружил тома докера .
Следуя приведенному там примеру, я попытался добавить некоторые файлы в том, а затем перечислить их из контейнера:
root@srv /v/l/machines# docker volume create hello
hello
root@srv /v/l/machines# docker run -d -v hello:/world busybox ls /world
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
57c14dd66db0: Pull complete
Digest: sha256:7964ad52e396a6e045c39b5a44438424ac52e12e4d5a25d94895f2058cb863a0
Status: Downloaded newer image for busybox:latest
d488dd535de01209ccc4f4bbf9a269d7932868ca41c9fe538d7a95fad66cefae
В томе нет данных, поэтому вывод ls
пуст. Это нормально.
root@srv /v/l/machines# docker volume inspect hello
[
{
"CreatedAt": "2019-01-14T14:57:47+01:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/hello/_data",
"Name": "hello",
"Options": {},
"Scope": "local"
}
]
root@srv /v/l/machines# date > /var/lib/docker/volumes/hello/_data/a.txt
root@srv /v/l/machines# date > /var/lib/docker/volumes/hello/_data/b.txt
root@srv /v/l/machines# docker run -d -v hello:/world busybox ls /world
ced5591203511f2f9a0194431ba8fca81df8442c38be993de454cadb1b93da09
root@srv /v/l/machines# docker run -d -v hello:/world busybox ls /world
7987ce187747016e81469cb1a150aa0a85ded58521fbc03f1a0f55e2e07358f0
root@srv /v/l/machines# ls /var/lib/docker/volumes/hello/_data/
a.txt b.txt
Эту часть я не понимаю. Я добавил несколько файлов к месту, указанному docker volume inspect
, но они, кажется, не видны в виде контейнера-докера, который монтировал этот том. Почему это так?