PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como recuperar dados de um contêiner Docker excluído? Como reconectá-lo aos dados?


É exatamente por isso que, ao criar um contêiner de dados, sempre registro seu caminho em um arquivo. (veja meu script updateDataContainerPath )

Uso (para ser usado logo após a criação de um contêiner de dados):
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}

(aqui ${grepos} é o arquivo onde você registra ou salva o caminho do volume do container de dados)

Esse script irá, se já houver um caminho salvo para esse contêiner de dados, remova a pasta vazia do contêiner de dados e mova o antigo para o novo (e atualize o novo caminho)
sudo rm -Rf "${grpath}"
sudo mv "${fgrpath}" "${grpath}"

Isso ajudaria a responder sua pergunta 2 e evitaria inteiramente sua pergunta 1.

Dessa forma, posso rm qualquer contêiner (incluindo um contêiner de dados, sem o -v opção, é claro), e sei que na próxima vez que recriar esse mesmo contêiner de dados, encontrarei meus dados de volta.