本文講的是,
【編者的話】本文屬於基礎入門類文章,作者介紹了如何備份基於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:wheezyrun 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...
基於雲的備份軟體
現在的儲存備份軟體,大多數都都是客戶端 伺服器結構的,使用者需要維護自己的儲存裝置 如果能夠有備份軟體能夠把備份建立在雲儲存的基礎上,使用者就省去了維護自己的儲存裝置的費用,而是還是按照使用的空間來付費的,會大大降低成本,這是基於雲的備份相對於傳統備份的優勢,不過缺點也有不少 對於大資料量的備份,要...