Det er præcis derfor, når jeg opretter en datacontainer, registrerer jeg altid dens sti i en fil. (se mit script updateDataContainerPath
)
Anvendelse (skal bruges lige efter oprettelse af en databeholder):
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}
(her ${grepos}
er den fil, hvor du registrerer eller gemmer stien til databeholderens volumen)
Det script vil, hvis der allerede var en sti gemt for den databeholder, fjern den tomme databeholdermappe, og flyt den gamle til den nye (og opdater den nye sti)
sudo rm -Rf "${grpath}"
sudo mv "${fgrpath}" "${grpath}"
Det ville hjælpe med at besvare dit spørgsmål 2 og helt undgå dit spørgsmål 1.
På den måde kan jeg rm enhver container (inklusive en datacontainer, uden -v
mulighed selvfølgelig), og jeg ved, at næste gang jeg genskaber den samme databeholder, vil jeg finde mine data tilbage.