自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Docker容器遷移到其他服務(wù)器的5種方法

云計算
遷移在許多情況下都是不可避免的。硬件升級、數(shù)據(jù)中心變化、過時的操作系統(tǒng),所有這些都可能成為遷移的觸發(fā)點(diǎn)。

[[388254]]

遷移在許多情況下都是不可避免的。硬件升級、數(shù)據(jù)中心變化、過時的操作系統(tǒng),所有這些都可能成為遷移的觸發(fā)點(diǎn)。

Docker容器遷移通常是遷移任務(wù)的一部分。今天我們將看到將Docker容器從現(xiàn)有服務(wù)器遷移到另一臺服務(wù)器的不同方法。

如何將Docker容器遷移到另一臺服務(wù)器,沒有直接將Docker容器從一臺服務(wù)器遷移到另一臺服務(wù)器的方法,我們通過使用下面這些方法中的一個或多個來解決Docker容器遷移的問題。

1、導(dǎo)出和導(dǎo)入容器

導(dǎo)出容器意味著從容器的文件系統(tǒng)創(chuàng)建壓縮文件,導(dǎo)出的文件保存為“gzip”文件。

  1. docker export container-name | gzip > container-name.gz 

然后通過文件傳輸工具(如scp或rsync)將壓縮文件復(fù)制到新服務(wù)器。在新服務(wù)器中,這個gzip文件隨后被導(dǎo)入到一個新容器中。

  1. zcat container-name.gz | docker import - container-name 

可以使用“docker run”命令訪問在新服務(wù)器中創(chuàng)建的新容器。

導(dǎo)出容器工具的一個缺點(diǎn)是,它不導(dǎo)出容器的端口和變量,也不導(dǎo)出包含容器的底層數(shù)據(jù)。

當(dāng)嘗試在另一臺服務(wù)器中加載容器時,這可能會導(dǎo)致錯誤。在這種情況下,我們選擇Docker鏡像遷移來將容器從一臺服務(wù)器遷移到另一臺服務(wù)器。

2、容器鏡像遷移

將Docker容器遷移到另一臺服務(wù)器的最常用方法是遷移容器關(guān)聯(lián)到的鏡像。

對于必須遷移的容器,首先使用“Docker commit”命令將其Docker鏡像保存到壓縮文件中。

  1. docker commit container-id image-name 

生成的鏡像將被壓縮并上傳到新服務(wù)器上,在新服務(wù)器中,將使用“docker run”創(chuàng)建一個新容器。

使用此方法,數(shù)據(jù)卷不會被遷移,但它會保留在容器內(nèi)創(chuàng)建的應(yīng)用程序的數(shù)據(jù)。

3、保存和加載鏡像

docker鏡像是應(yīng)用程序的代碼、庫、配置文件等的包。Docker容器是由這些鏡像創(chuàng)建的。

可以使用“docker save”壓縮鏡像并將其遷移到新服務(wù)器。

  1. docker save image-name > image-name.tar 

在新服務(wù)器中,使用“docker load”將壓縮鏡像文件用于創(chuàng)建新鏡像。

  1. cat image-name.tar | docker load 

4、遷移數(shù)據(jù)卷

Docker容器中的數(shù)據(jù)卷是共享目錄,其中包含特定于容器的數(shù)據(jù)。卷中的數(shù)據(jù)是持久的,在容器重新創(chuàng)建期間不會丟失。

使用導(dǎo)出或提交工具將Docker容器或鏡像從一臺服務(wù)器遷移到另一臺服務(wù)器時,不會遷移基礎(chǔ)數(shù)據(jù)卷。

在這種情況下,包含數(shù)據(jù)的目錄將手動遷移到新服務(wù)器。然后在新服務(wù)器創(chuàng)建容器,引用該目錄作為其數(shù)據(jù)卷。

另一個簡單的方法是通過在“docker run”命令中傳遞“-volumes from”參數(shù)來備份和恢復(fù)數(shù)據(jù)卷。

  1. docker run --rm --volumes-from datavolume-name -v $(pwd):/backup image-name tar cvf backup.tar /path-to-datavolume 

這里,datavolume名稱是/path/to/volume。此命令提供數(shù)據(jù)卷的備份。要指定工作目錄,還可以指定-w/backup。在/backup文件夾中生成的備份可以通過scp或ftp工具復(fù)制到新服務(wù)器。然后提取復(fù)制的備份并將其還原到新容器中的數(shù)據(jù)卷中。

  1. docker run --rm --volumes-from datavolume-name -v $(pwd):/backup image-name bash -c "cd /path-to-datavolume && tar xvf /backup/backup.tar --strip 1" 

5、遷移整個Docker容器

我們在這里看到的方法適用于單個容器。但是將所有容器都要從一臺服務(wù)器遷移到另一臺服務(wù)器的情況下,我們采用另一種方法。

此方法包括將整個docker目錄(“/var/lib/docker”)復(fù)制到新服務(wù)器。為了使這種方法成功,需要確定幾個關(guān)鍵點(diǎn)。

  • 保留文件夾的權(quán)限和所有權(quán)。
  • 遷移前停止Docker服務(wù)。
  • 驗證兩臺服務(wù)器中的Docker版本是否兼容。
  • 遷移前后驗證容器列表和功能。
  • 環(huán)境變量和其他配置文件的路徑。

如果此方法由于任何故障而無法工作,我們將配置自定義腳本以將容器和鏡像從一臺服務(wù)器遷移到另一臺服務(wù)器。

結(jié)論:Docker容器廣泛應(yīng)用于DevOps和基于web托管。今天我們討論了Docker工程師如何將Docker容器遷移到我們管理的Docker基礎(chǔ)設(shè)施中的另一臺服務(wù)器的各種方法。

 

*本文內(nèi)容翻譯自https://bobcares.com/blog/move-docker-container-to-another-host/,如有侵權(quán)請聯(lián)系刪除

 

責(zé)任編輯:武曉燕 來源: 新鈦云服
相關(guān)推薦

2011-07-25 10:58:29

服務(wù)器

2020-01-16 10:47:36

服務(wù)器Kubernetes微服務(wù)

2023-07-06 17:00:44

服務(wù)器

2022-08-22 14:27:30

微服務(wù)遷移

2010-08-26 09:16:42

Web服務(wù)器

2011-08-09 14:27:49

服務(wù)器DCADDS

2009-07-21 12:52:32

刀片服務(wù)器散熱數(shù)據(jù)中心

2011-07-07 10:05:04

服務(wù)器整合

2011-08-09 16:20:32

數(shù)據(jù)中心刀片服務(wù)器散熱

2020-09-19 18:03:42

Docker

2020-04-22 11:07:30

云遷移公共云云計算

2013-11-01 11:23:52

Linux遷移Windows服務(wù)器

2021-09-23 10:30:21

Docker RegiHarborLinux

2021-10-28 08:00:00

數(shù)據(jù)庫SQL技術(shù)

2012-10-29 09:27:16

2015-03-20 13:40:17

2022-07-06 08:33:15

服務(wù)器安全SSH

2011-03-04 15:22:24

2015-09-10 16:45:39

運(yùn)維服務(wù)器

2020-05-28 13:33:30

React Hook前端開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號