Właśnie dlatego tworząc kontener danych zawsze rejestruję jego ścieżkę w pliku. (zobacz mój skrypt updateDataContainerPath
)
Użycie (do użycia zaraz po utworzeniu kontenera danych):
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}
(tutaj ${grepos}
to plik, w którym rejestrujesz lub zapisujesz ścieżkę woluminu kontenera danych)
Ten skrypt zadziała, jeśli już ścieżkę zapisaną dla tego kontenera danych, usuń pusty folder kontenera danych i przenieś stary do nowego (i zaktualizuj nową ścieżkę)
sudo rm -Rf "${grpath}"
sudo mv "${fgrpath}" "${grpath}"
Pomogłoby to odpowiedzieć na pytanie 2 i całkowicie uniknąć pytania 1.
W ten sposób mogę rmować dowolny kontener (w tym kontener danych, bez -v
oczywiście) i wiem, że następnym razem, gdy odtworzę ten sam kontener danych, odnajdę moje dane.