Docker備份Gitlab容器以及還原數(shù)據(jù)
概述
今天,我們將學(xué)習(xí)如何快速地docker對gitlab容器進(jìn)行快捷備份、恢復(fù)和遷移。Docker是一個開源平臺,用于自動化部署應(yīng)用以通過快捷的途徑在稱之為容器的輕量級軟件層下打包、發(fā)布和運(yùn)行這些應(yīng)用。它使得應(yīng)用平臺獨(dú)立,因?yàn)樗缪萘薒inux上一個額外的操作系統(tǒng)級虛擬化的自動化抽象層。它通過其組件cgroups和命名空間利用Linux內(nèi)核的資源分離特性,達(dá)到避免虛擬機(jī)開銷的目的。它使得用于部署和擴(kuò)展web應(yīng)用、數(shù)據(jù)庫和后端服務(wù)的大規(guī)模構(gòu)建組件無需依賴于特定的
堆棧或供應(yīng)者。
所謂的容器,就是那些創(chuàng)建自Docker鏡像的軟件層,它包含了獨(dú)立的Linux文件系統(tǒng)和開箱即用的應(yīng)用程序。如果我們有
一個在機(jī)器中運(yùn)行著的 Docker容器,并且想要備份這些容器以便今后使用,或者想要遷移這些容器,那么,本教程將幫助
你掌握在Linux操作系統(tǒng)中備份、恢復(fù)和遷移 Docker容器的方法。
我們怎樣才能在Linux中備份、恢復(fù)和遷移Docker容器呢?這里為您提供了一些便捷的步驟。
正文
1. 查看容器
#輸入命令查看docker中所有容器
#docker ps 查看所有運(yùn)行中的容器、-a可以列出所有容器包括未運(yùn)行的
docker ps -a
2. 備份容器
#選擇我們想要備份的容器,然后去創(chuàng)建該容器的快照。我們可以使用 docker commit #命令來創(chuàng)建快照。
#30b8f18f20b4是對應(yīng)的CONTAINER ID(容器id)
docker commit -p 30b8f18f20b4 container-backup 
#該命令會生成一個作為Docker鏡像的容器快照,我們可以通過運(yùn)行
#docker images 命令
#來查看Docker鏡像,如下
docker images
#正如我們所看見的,上面做的快照已經(jīng)作為Docker鏡像保存了。現(xiàn)在,為了備份該
#快照,我們有兩個選擇,一個是我們可以登錄進(jìn)Docker注冊中心,并推送該鏡像;
#另一個是我們可以將Docker鏡像打包成tar包備份,以供今后使用。
#本次我們將其作為tar包備份。
docker save -o ~/container-backup.tar container-backup
#要驗(yàn)證tar包是否已經(jīng)生成,我們只需要在保存tar包的目錄中運(yùn)行 ls 命令即可。
#一般默認(rèn)會在root文件夾下
ls

3. 還原容器
#先停止本來的容器
docker stop gitlab

#查看容器
#如果只使用docker ps的話就看不到這個容器,因?yàn)檫@個容器已經(jīng)停止運(yùn)行了,所以
#需要-a才可以看到
docker ps -a
#刪除剛停止的這個容器
#d9f88c88dab6 就是容器的CONTAINER ID(容器id)
docker rm d9f88c88dab6
#如果不放心可以再查看下容器
#使用 docker load 命令,后面加上tar包的備份路徑,就可以加載該Docker鏡像了。
docker load -i ~/container-backup.tar
#現(xiàn)在,為了確保這些Docker鏡像已經(jīng)加載成功,我們來運(yùn)行 docker images 命令。
docker images
#啟動鏡像(一)
#指定端口映射,格式為:主機(jī)(宿主)端口:容器端口
docker run -d -p 9443:443 -p 9080:80 -p 2222:22 container-backup
#啟動鏡像(二)
#與備份鏡像啟動命令一致、這樣可以保留鏡像中的數(shù)據(jù)
docker run -d --hostname 192.168.xx.xxx --restart always -p 9443:443 -p 9080:80 -p 2222:22 --name gitlab -v `pwd`/config:/etc/gitlab -v `pwd`/logs:/var/log/gitlab -v `pwd`/data:/var/opt/gitlab container-backup
本次的學(xué)習(xí)到這里就結(jié)束了,會根據(jù)實(shí)際使用更新文章。
如果對您有幫助 請點(diǎn)個關(guān)注,萬分感謝
(QQ招聘群 710566091
微信招聘群 請加圖圖微信)
