2015-04-15 4 views
1

В принципе у меня есть один контейнер, который требует частых перестроек, и тот, который довольно стабилен и изменяется очень редко. Второй контейнер нуждается в папке с первой.Динамически меняет объем докера

Это какой-либо способ выполнить следующую задачу с использованием томов?

Создание контейнера с объемом:

# docker run -d -v /test-vol --name one ubuntu:14.04 cat 

Создание второго контейнера с объемом на основе первого контейнера:

# docker run -d --volumes-from one --name two ubuntu:14.04 cat 

Теперь я останавливая первый контейнер, здание это новая версия.

И вот вопрос: Мне нужно волшебство, чтобы запустить его таким образом, чтобы второй контейнер начал видеть новую версию volume/test-vol.

С докер инспектировать в перспективе есть

"VolumesFrom": [ 
    "one" 
] 

, так что я подумал, может быть, я могу создать новый контейнер с таким же именем, но потом я увидел

"Volumes": { 
    "/test-vol": "/var/lib/docker/vfs/dir/[id]" 
}, 

, явно ссылки на старый том.

ответ

0

Самым простым решением было бы выделить третий контейнер как контейнер объемом данных, которые можно было бы затем:

  • монтируется первым для каждого восстановления
  • монтируется второй, а

Контейнер объема данных может быть установлен несколькими другими контейнерами.

+0

К сожалению, данные по объему не являются постоянными, и, кроме того, это основная причина восстановления контейнеров # 1. – Daniil

+0

@ Данные Daniil на томе не более или менее постоянны, чем данные об объеме, который вы в настоящее время определяете на контейнере один: один включает данные об объеме, что делает его контейнером объема данных. – VonC

+0

@ Daniil моя точка: изолировать часть данных в контейнере с точной емкостью данных (что вам не нужно останавливать и перестраивать. Это позволит вам остановить/перестроить один раз, сколько захотите. – VonC

Смежные вопросы