В целом ряде учебных пособий указано, что наличие контейнера только для данных - это то, как вы достигаете постоянных данных в докере.
Обратите внимание, что с последними версиями Docker это уже не так; тома теперь являются «первоклассными» гражданами и могут быть созданы/удалены/etc с помощью команды docker volume
. Это означает, что вы можете создать постоянный объем данных, запустив:
$ docker volume create --name myvolume
А позже вы можете прикрепить к нему так:
$ docker run -v myvolume:/data ...
То, что я не понимаю, однако, что данные только кажется постоянным, пока существует только контейнер данных.
Это поможет, если вы хотите включить в свой вопрос информацию о том, как вы создали свой контейнер данных. Обратите внимание, что контейнер с данными только не должен быть «работает», чтобы быть полезным; он просто должен существовать. Так, например, я мог бы создать контейнер данных только так:
$ docker run -v /data --name datacontainer busybox true
Это будет, конечно, запустить /bin/true
, а затем выйти сразу:
$ docker ps -a
47568a43d386 busybox "true" 7 seconds ago Exited (0) 6 seconds ago datacontainer
Но даже если контейнер вышел Я не могу использовать объем в новом контейнере:
$ docker run -it --volumes-from datacontainer busybox sh
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/tank-docker--vol
83844100 2398688 81445412 3% /data
Этот механизм является то, что вы будете использовать, чтобы получить постоянные объемы в Докер раньше, чем 1,10, но больше нет (1.9, может быть?) необходимо из-за команды docker volume
.
Просто чтобы добавить к этому для всех, кто борется в моем пути. Контейнер только для данных создает том, который имеет сгенерированное имя (например, 4488845jgjg3). Когда вы следующий экземпляр контейнера, он создает второй том с другим именем. Оба тома существуют на главной машине, но если вы не ссылаетесь на них по id, вы автоматически не получаете к ним доступ. – Andy
Вот почему вы даете контейнеру данных имя и обращаетесь к томам с помощью '--volumes-from' (так что вам не нужно беспокоиться об идентификаторе отдельных томов). – larsks