備份基於Docker的PostgreSQL資料庫

2021-09-22 23:15:09 字數 1202 閱讀 9544

本文講的是,

【編者的話】本文屬於基礎入門類文章,作者介紹了如何備份基於docker的postgresql資料庫。通過本文你可以學習到docker容器的構建以及執行命令,並帶你複習docker容器的基本原理。

我發現,很多初學者都很關心docker能否解決現有的一些問題,當然之前的解決方案也仍可以用。所以這篇文章的主題是使用docker備份你的關係型資料庫。我會通過具體的例子來介紹如何使用docker來備份postgresql。

簡單來說,你可以在postgresql例項上執行pg_dump。具體到現在的問題,你可以用三種方式來執行:

第一,在容器內。根據你的docker版本,使用

nsenter

docker exec在容器內執行shell命令,並將dump的資料共享到volume:

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

但我們可以做的更好,理想的流程是無需在容器內啟動shell即可直接連線到postgresql。有兩種方式可以實現:

其一,可以使用容器化的方式。建立乙個pg_dump容器,並在執行時將其連線到postgresql容器。下面是pg_dump容器的dockerfile:

from debian:wheezy

run apt-get update -y && \

apt-get install -y postgresql-client && \

apt-get clean -y

entrypoint ["/usr/bin/pg_dump"]

使用docker build命令來構建:

$ docker build -t pg_dump - < dockerfile

注意:並不是一定要構建乙個執行pg_dump的容器,你可以直接在postgresql的容器中包含pg_dump容器的功能。我們這裡只是為了練習。
構建完畢並執行:

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

另外乙個解決方案是docker暴露容器的5342埠,我們直接執行pg_dump命令。

原文發布時間為:2015-01-04

post 基於錯誤的注入 sqli lab

get注入可以直接在url上進行傳輸引數。post注入是基於輸入框進行注入,所以得使用輔助工具進行注入。post注入的兩個前提 1.輸入框可以互動 2.輸入的語句會進入到資料庫進行資訊查詢 下面我們用sqli lab less11來舉乙個例子 我們注入乙個萬能密碼,or 1 1 可以看到已經進入資料...

備份Docker安裝的Rancher

成功安裝基於 docker 的 rancher 後,我們建議定期為其建立備份。擁有最近的備份將讓您從意外災難中快速恢復。在建立備份期間,您將輸入一系列命令,用環境中的資料替換佔位符。這些佔位符用斜括號和所有大寫字母 表示。下面是乙個帶有佔位符的命令的例子 docker run volumes fro...

基於雲的備份軟體

現在的儲存備份軟體,大多數都都是客戶端 伺服器結構的,使用者需要維護自己的儲存裝置 如果能夠有備份軟體能夠把備份建立在雲儲存的基礎上,使用者就省去了維護自己的儲存裝置的費用,而是還是按照使用的空間來付費的,會大大降低成本,這是基於雲的備份相對於傳統備份的優勢,不過缺點也有不少 對於大資料量的備份,要...