PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come recuperare i dati da un contenitore Docker eliminato? Come ricollegarlo ai dati?

Questo è esattamente il motivo per cui, quando creo un contenitore di dati, registro sempre il suo percorso in un file. (vedi il mio script updateDataContainerPath )

Utilizzo (da utilizzare subito dopo la creazione di un contenitore di dati):

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}

(qui ${grepos} è il file in cui ti registri o salvi il percorso del volume del contenitore dati)

Quello script lo farà, se c'era già un percorso salvato per quel contenitore di dati, rimuovi la cartella del contenitore di dati vuota e sposta quella vecchia in quella nuova (e aggiorna il nuovo percorso)

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

Ciò aiuterebbe a rispondere alla tua domanda 2 ed eviterebbe del tutto la tua domanda 1.

In questo modo, posso rm qualsiasi contenitore (incluso un contenitore di dati, senza il -v opzione ovviamente) e so che la prossima volta che ricreerò lo stesso contenitore di dati, ritroverò i miei dati.