PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment récupérer les données d'un conteneur Docker supprimé ? Comment le reconnecter aux données ?

C'est exactement pourquoi, lors de la création d'un conteneur de données, j'enregistre toujours son chemin dans un fichier. (voir mon script updateDataContainerPath )

Utilisation (à utiliser juste après la création d'un conteneur de données) :

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}

(ici ${grepos} est le fichier où vous enregistrez ou enregistrez le chemin du volume du conteneur de données)

Ce script le fera, s'il y en avait déjà un chemin enregistré pour ce conteneur de données, supprimez le dossier de conteneur de données vide et déplacez l'ancien vers le nouveau (et mettez à jour le nouveau chemin)

sudo rm -Rf "${grpath}"
sudo mv "${fgrpath}" "${grpath}"

Cela aiderait à répondre à votre question 2 et éviterait entièrement votre question 1.

De cette façon, je peux rm n'importe quel conteneur (y compris un conteneur de données, sans le -v option bien sûr), et je sais que la prochaine fois que je recréerai ce même conteneur de données, je retrouverai mes données.