Сопоставить том контейнера данных с объемом

Я использую (не официальный, как упомянул Усман) образ mongodb (https://registry.hub.docker.com/u/dockerfile/mongodb/), который создает том в "/ data / db".

создать контейнер mongdb:

docker build -t="dockerfile/mongodb" github.com/dockerfile/mongodb

Запустить контейнер данных:

docker run -v /data/db --name databox ubuntu:latest true

запустить контейнер mongdb с контейнером данных (записать данные mongo в контейнер данных)

docker run -d -p 27017:27017 --volumes-from databox --name mongodb_shared_persistence dockerfile/mongodb

Я тестировал это с помощью:

docker run --volumes-from=databox busybox ls /data/db

... создаются файлы db. Все идет нормально.

Но что, если в контейнере данных есть том в / mongodb / data, и я хочу сопоставить его с / data / db объем контейнера mongodb?

...нравится:

docker run -d -p 27017:27017 -v <?data_container_volume?>:/data/db --name mongodb dockerfile/mongodb

это вообще возможно?


person cloudnaut    schedule 27.11.2014    source источник
comment
Боковое примечание, которое не является официальным изображением, у официальных изображений есть лента и слово Official Repo на странице центра докеров, например. registry.hub.docker.com/_/mysql. AFAIK нет официального контейнера mongo, но я считаю использование dockerfile логотипа docker и доверенного автоматизированного описания неискренним.   -  person Usman Ismail    schedule 27.11.2014
comment
@UsmanIsmail Официальный образ mongo находится по адресу registry.hub.docker.com/_/mongo   -  person Adrian Mouat    schedule 28.11.2014


Ответы (1)


Если вы читали комментарии Шайкса к проблеме 111:

У томов нет имен верхнего уровня. Ни в коем случае пользователь не предоставляет имя или имя, данное ему. Тома идентифицируются по пути, по которому они установлены внутри своего контейнера.

Так что я не думаю, что есть какой-то способ добиться этого.

person Usman Ismail    schedule 27.11.2014
comment
поэтому в моем случае, если я хочу использовать контейнер данных для более чем одной базы данных, мне придется создать несколько томов, например. / data / db (тот, что mongodb), / data / mysql (предположение для mysql). это было бы возможно, не так ли? поэтому, если я не хочу, чтобы mongodb использовал / data / db в качестве тома, мне нужно изменить файл Dockerfile официального файла Dockerfile mongodb - person cloudnaut; 27.11.2014
comment
Да, у вас может быть несколько томов в одном контейнере, и тома из них будут монтировать все тома. Если вы хотите связать два разных нисходящих контейнера mongo, у вас могут возникнуть проблемы. В этом случае для нисходящих контейнеров потребуется настраиваемый путь к БД. - person Usman Ismail; 27.11.2014