Docker中容器的備份、恢復和遷移

1. 備份容器 

首先,爲了備份Docker中的容器,咱們會想看看咱們想要備份的容器列表。要達成該目的,咱們須要在咱們運行着Docker引擎,並已建立了容器的Linux機器中運行 docker ps 命令。html

 sudo docker ps --由於我本地的虛擬機沒有配置docker的全局變量,因此用sudo 執行


該命令會生成一個做爲Docker鏡像的容器快照,咱們能夠經過運行 docker images 命令來查看Docker鏡像,以下。docker

sudo docker commit -p 6fd1775e7dd0 postgres-backup    -p 容器id  備份鏡像名稱

正如咱們所看見的,上面作的快照已經做爲Docker鏡像保存了。如今,爲了備份該快照,咱們有兩個選擇,一個是咱們能夠登陸進Docker註冊中心,並推送該鏡像;另外一個是咱們能夠將Docker鏡像打包成tar包備份,以供從此使用。 ubuntu

若是咱們想要在Docker註冊中心上傳或備份鏡像,咱們只須要運行 docker login 命令來登陸進Docker註冊中心,而後推送所需的鏡像便可。能夠參考連接:https://www.jb51.net/os/other/378697.htmlwindows

本地保存:安全

sudo docker save -o ~/postgres.tar postgres-backup1 --將postgres-backup1鏡像保存爲postgres.tar

2. 恢復容器

恢復容器,遷移在下一個段落。工具

sudo docker load -i ~/postgres.tar

  

 用 docker images 查看docker鏡像,運行還原好的docker容器 post

sudo docker run -d -p 5432:5432 postgres-backup

 

三、Linux遷移文件

遷移容器同時涉及到了上面兩個操做,備份和恢復。咱們能夠將任何一個Docker容器從一臺機器遷移到另外一臺機器。在遷移過程當中,首先咱們將把容器備份爲Docker鏡像快照。而後,該Docker鏡像或者是被推送到了Docker註冊中心,或者被做爲tar包文件保存到了本地。若是咱們將鏡像推送到了Docker註冊中心,咱們簡單地從任何咱們想要的機器上使用 docker run 命令來恢復並運行該容器。可是,若是咱們將鏡像打包成tar包備份到了本地,咱們只須要拷貝或移動該鏡像到咱們想要的機器上,加載該鏡像並運行須要的容器便可。。this

3.一、安裝vsftp 用於上傳和下載

 

sudo apt-get install vsftpd

 

其它的配置參考:http://www.javashuo.com/article/p-aniwyxzl-cq.html spa

這裏主要是講遇到的一個問題,糾結了半天。.net

用FTP上傳工具連接Linux 虛擬機時候,發現上傳文件能夠上傳下去,可是剛剛備份的postgres.tar文件下載不下來,一直報:550 Failed to open file.最後發現是文件權限的問題。

由於文件的權限是root,因此沒法下載。解決方法更改文件的權限,這樣就能夠下載了。改變文件權限詳細瞭解見:http://www.javashuo.com/article/p-aicatipk-hu.html

sudo change test postgres.tar--修改postgres.tar的擁有者爲test用戶(我本地虛擬機的用戶叫test,根據實際更改用戶名)

3.二、 Windows訪問ubuntu共享文件夾

由於我本地虛擬機是ubuntu,其它Linux命令操做,須要根據實際去了解一下。

一、對要共享的文件夾右擊->Local Network Share(本地文件夾共享)

二、選擇Share this folder(共享此文件夾),提示安裝共享服務,安裝共享服務

 

 安裝完成後,點擊共享。這樣就能完成共享了。

 在windows下文件夾填寫:\\192.168.12.131\share,這樣就能完成訪問。若是提示不能訪問,將share上面的共享屬性改爲「容許匿名登陸」,這樣就能夠了,固然這個安全性有點低。

 共享路徑設置能夠參照連接:http://www.javashuo.com/article/p-vqkzhjxo-hv.html

相關文章
相關標籤/搜索