自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于Docker備份PostgreSQL 應(yīng)用示例

云計算 PostgreSQL
這篇文章有三個目的:給你一個例子使用Docker執(zhí)行使用;提醒你,在docker到來之前所獲得的知識仍然是有用的;幫助你構(gòu)建將應(yīng)用容器的思維。

免責(zé)聲明:當(dāng)我第一次寫這篇文章的時候,我曾因為內(nèi)容中沒有任何新的東西而丟棄它。的確,在這個博客上沒有新的或復(fù)雜的,你將學(xué)習(xí)通過閱讀它的唯一的事就是,您可以將使用pg_dump備份PostgreSQL服務(wù)器的過程運行在一個容器中。

有一件事觸動了我。當(dāng)我解釋和回答Docker初學(xué)者提出的問題時,我發(fā)現(xiàn)其中一個很普遍,那就是當(dāng)老的解決方案仍然可以解決現(xiàn)有問題時,大家又在尋找新的解決方案。

工程師有一個癖好,就是忘記他們所知道的,然后他們可以不用做太多改變,而在一個新的范例中很大程度上運用這些已經(jīng)掌握的知識。所以最終,這篇博客有三個目的:

  • 給你一個例子使用Docker執(zhí)行使用
  • 提醒你,你在docker到來之前所獲得的知識仍然是有用的
  • 幫助你構(gòu)建將這個知識放到容器中的思維

真的,這篇文章可以被稱為備份RDBMS和Docker,但我需要一些具體的例子。因為這篇文章是關(guān)于PostgreSQL觸發(fā)的問題,我決定就這樣做。

這里的情況。有一個PostgreSQL服務(wù)器運行在一個Docker容器,和你非常滿意的這兩個很棒的軟件的結(jié)合。但是你是一個聰明的人,你知道,遲早,您將需要備份的數(shù)據(jù)庫。也許硬件將會失敗,或者新的實習(xí)生將會失敗,你永遠(yuǎn)不會知道的。所以你決定定期備份數(shù)據(jù)庫。

但是如何做到這一點。PostgreSQL運行在Docker中,并沒有明顯的方式訪問數(shù)據(jù)。

問題可以歸結(jié)為對您的PostgreSQL實例運行pg_dump,和你有三種方式實現(xiàn)這一目標(biāo)。

根據(jù)您的版本的Docker,使用nsenter或Docker執(zhí)行以獲得shell在容器內(nèi),并將您的數(shù)據(jù)(使用pg_dump)轉(zhuǎn)儲到一個共享卷(postgres容器運行PostgreSQL的名稱):

  1. docker exec postgres pg_dump -h db -f /shared/backup.sql 

但我們可以做的更好,對嗎?理想的流程將涉及能夠連接到PostgreSQL無需一個shell的容器。有兩種方法可以做到這一點。

首先,用容器的一切方法。你建立一個pg_dump容器(這是一個容器,pg_dump作為它的入口點),并將其鏈接到PostgreSQL容器在運行時。這里有一個 pg_dump容器的Dockerfile

  1. FROM debian:wheezy 
  2.  
  3. RUN apt-get update -y && \ 
  4. apt-get install -y postgresql-client && \ 
  5. apt-get clean -y 
  6.  
  7. ENTRYPOINT ["/usr/bin/pg_dump"

用 docker build 構(gòu)建

  1. $ docker build -t pg_dump - < Dockerfile 

注意:建立一個特定的容器pg_dump不是強制性的。Damien如上所述的評論,你重新使用 包含 pg_dump在內(nèi)的PostgreSQL鏡像一點兒問題都沒有。我們在這里建立一個容器是因為要練習(xí)。

運行:

  1. $ docker run -it --link postgres:db pg_dump -h db 

在你的PostgreSQL postgres的容器中運行。

本文出自:http://dockerone.com/article/118

責(zé)任編輯:Ophira 來源: dockerone
相關(guān)推薦

2014-07-29 10:35:21

DockerNodeJS

2023-08-28 10:54:09

容器Docker

2012-09-28 13:39:40

Windows備份

2022-07-12 17:24:48

NginxDocker

2012-02-08 09:36:57

虛擬化備份

2022-03-14 19:40:40

PostgreSQL多租戶應(yīng)用程序Citus

2015-01-20 13:46:31

Java EEDockerDocker部署

2018-09-19 15:28:21

VMware備份恢復(fù)

2024-04-18 09:20:43

PostgreSQL關(guān)系型數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)

2024-11-15 08:00:00

2021-08-10 15:44:37

PostgreSQL表分區(qū)分區(qū)表

2010-11-29 10:53:14

Sybase日期函數(shù)

2009-07-09 16:22:12

WebWork配置

2020-03-19 11:12:21

云計算KubernetesDocker

2022-03-17 18:52:41

PostgreSQ序列數(shù)據(jù)集群

2021-07-20 10:59:22

云計算架構(gòu)示例云應(yīng)用

2022-02-28 15:44:05

鴻蒙系統(tǒng)鴻蒙API加載網(wǎng)絡(luò)圖片

2017-05-01 17:03:01

Java緩存分布式

2024-09-10 08:00:00

PostgreSQL數(shù)據(jù)庫

2010-08-12 09:33:30

DB2數(shù)據(jù)庫備份
點贊
收藏

51CTO技術(shù)棧公眾號