2014-03-29 61 views
1

我使用下面的方法將數據從一個集裝箱中取出。從碼頭集裝箱中取出港口數據

docker run --volumes-from <data container> ubuntu tar -cO <volume path> | gzip -c > volume.tgz

但每次執行備份時有一個問題是,會有一個殭屍容器左側。之後獲得該ID並移除殭屍容器的好方法是什麼?

感謝

+0

加入'''--rm'''它會移除容器。 – Tony

回答

1

顯然,你只是想能夠出口量數據。爲此,只需使用指向-v選項的主機上的目錄啓動初始容器。您可以在不爲其創建容器的情況下對主機進行tar操作。你目前的戰術看起來有些過度設計;)

+0

因爲我使用Mac來通過boot2docker來開發和使用docker,所以直接從docker容器進行備份會更方便。我不喜歡進入虛擬機並將其複製出來,做一些裝載文件夾,有時候速度很慢。 – nXqd

+0

但是,從當前方法產生的tar仍然在您的虛擬機上,對不對?唯一的區別是您現在使用腳本而不是容器來創建它。 – qkrijger

+0

是的,你是對的。我已經將這種複雜且經驗豐富的方法改變爲經典的rsync。 – nXqd

1

最簡單的辦法執行命令後刪除容器,是使用選項--rm,從here

不過,如果你覺得你的容器所創建具有數據你將需要實時

1.更新
容器後 2.訪問已創建

那麼你也可以安裝一個host directory as a container volume和訪問日的內容在主機的目錄中。

如果使用-volume選項啓動的容器,你也可以撥打引用該主機

$泊塢運行-v/volume_directory Ubuntu的
$容器= $(泊塢窗PS上創建的目錄 - N = 1 -q)
$搬運工檢查-f '{{.Volumes}}' $容器

+0

@qkrijger你可以指向文檔:D – nXqd

+0

我以前的評論很糟糕。如果你在Docker 0.9.1(當前版本)中使用'-rm',你會得到:''-rm'已被棄用,它將被替換爲'--rm',見用法。「我應該刪除第一條評論嗎? – qkrijger

+0

我認爲這樣比較好,所以是的。 – nXqd