Právě proto při vytváření datového kontejneru vždy registruji jeho cestu do souboru. (viz můj skript updateDataContainerPath
)
Použití (k použití ihned po vytvoření datového kontejneru):
docker inspect ${gitolite_repos_cont} > /dev/null 2>&1 || docker create --name="${gitolite_repos_cont}" gitolite.repos /bin/true
# source the script, to make the updatePath() function available
. ../updateDataContainerPath
# save the path in a file
updatePath ${gitolite_repos_cont} "$HOME/b2d/gitolite" ${grepos}
(zde ${grepos}
je soubor, do kterého zaregistrujete nebo uložíte cestu svazku datového kontejneru)
Tento skript bude, pokud již existuje cestu uloženou pro daný datový kontejner, odstraňte prázdnou složku datového kontejneru a přesuňte starou do nové (a aktualizujte novou cestu)
sudo rm -Rf "${grpath}"
sudo mv "${fgrpath}" "${grpath}"
To by pomohlo odpovědět na vaši otázku 2 a zcela se vyhnout otázce 1.
Tímto způsobem mohu vytvořit libovolný kontejner (včetně datového kontejneru bez -v
samozřejmě) a vím, že až příště znovu vytvořím stejný datový kontejner, najdu svá data zpět.