PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да възстановим данни от изтрит Docker контейнер? Как да го свържете отново с данните?

Точно затова, когато създавам контейнер с данни, винаги регистрирам пътя му във файл. (вижте моя скрипт updateDataContainerPath )

Употреба (да се използва непосредствено след създаване на контейнер с данни):

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}

(тук ${grepos} е файлът, в който регистрирате или записвате пътя на обема на контейнера с данни)

Този скрипт ще бъде, ако вече го е имало път, запазен за този контейнер с данни, премахнете празната папка на контейнера с данни и преместете стария в новия (и актуализирайте новия път)

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

Това ще помогне да отговорите на вашия въпрос 2 и ще избегнете изцяло вашия въпрос 1.

По този начин мога да управлявам всеки контейнер (включително контейнер с данни, без -v опция, разбира се) и знам, че следващия път, когато пресъздам същия този контейнер с данни, ще намеря обратно данните си.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Множество генератори на последователности за хибернация за един обект с PostgreSQL

  2. Актуализиране на времевата марка, когато редът се актуализира в PostgreSQL

  3. Сравнителен анализ, управлявани PostgreSQL облачни решения – Google Cloud:Част трета

  4. Как да напиша ограничение относно максимален брой редове в postgresql?

  5. Postgres:Различен, но само за една колона