日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何將Docker容器復(fù)制/轉(zhuǎn)移到另一個(gè)主機(jī)?

如何將docker容器復(fù)制/轉(zhuǎn)移到另一個(gè)主機(jī)?

譯文
作者:布加迪編譯 2019-08-26 08:00:55

云計(jì)算

前端 你可能在本地計(jì)算機(jī)上使用Docker實(shí)例,決定將它轉(zhuǎn)移到功能更強(qiáng)大的服務(wù)器上。或者你可能只想在多臺(tái)計(jì)算機(jī)上部署定制的容器,對(duì)容器進(jìn)行“復(fù)制粘貼”。其他時(shí)候你可能對(duì)云計(jì)算提供商不滿意,想另?yè)Q一家。無(wú)論是什么情況,都有一個(gè)很簡(jiǎn)單的過程,下面會(huì)詳細(xì)介紹。

專注于為中小企業(yè)提供網(wǎng)站制作、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)山海關(guān)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

【51CTO.com快譯】由于Docker容器是小小的軟件盒子,你可以將它們從一臺(tái)計(jì)算機(jī)復(fù)制和轉(zhuǎn)移到另一計(jì)算機(jī)。然而這不常討論,可能是由于大企業(yè)自行構(gòu)建庫(kù),可以定制自己的映像,并在它們覺得合適時(shí)跨服務(wù)器分發(fā)。但如果你只是偶爾需要移動(dòng)一個(gè)或多個(gè)容器,沒必要搞得這么復(fù)雜。

你可能在本地計(jì)算機(jī)上使用Docker實(shí)例,決定將它轉(zhuǎn)移到功能更強(qiáng)大的服務(wù)器上?;蛘吣憧赡苤幌朐诙嗯_(tái)計(jì)算機(jī)上部署定制的容器,對(duì)容器進(jìn)行“復(fù)制粘貼”。其他時(shí)候你可能對(duì)云計(jì)算提供商不滿意,想另?yè)Q一家。無(wú)論是什么情況,都有一個(gè)很簡(jiǎn)單的過程,下面會(huì)詳細(xì)介紹。

保存來(lái)自源主機(jī)的容器映像

不需要先停止容器,但強(qiáng)烈建議這么做。你將對(duì)Docker實(shí)例中的數(shù)據(jù)創(chuàng)建快照。如果這么做時(shí)實(shí)例在運(yùn)行,最終出現(xiàn)在快照中的一些文件有可能不完整。想象一下有人上傳了一個(gè)500MB的文件。上載250MB后,你發(fā)出docker commit命令。上傳隨后繼續(xù),但是當(dāng)你在另一臺(tái)主機(jī)上恢復(fù)該Docker映像時(shí),500MB中只有250MB可用。

所以,如果可以,先停止實(shí)例。

  
 
 
 
  1. docker stop NAME_OF_INSTANCE 

Docker容器由普通的初始映像構(gòu)建。隨著時(shí)間的推移,你將自己的更改添加到該基本映像。容器內(nèi)運(yùn)行的進(jìn)程也可能保存自己的數(shù)據(jù)或進(jìn)行其他更改。想保留這一切,你可以將此新狀態(tài)提交到新映像。

注意,如果實(shí)例目前在運(yùn)行中,該操作會(huì)在其內(nèi)容保存期間暫停該實(shí)例。如果向容器添加了大量數(shù)據(jù),此操作需要較長(zhǎng)時(shí)間才能完成。如果這是個(gè)問題,可以輸入docker commit -p=false NAME_OF_INSTANCE mycontainerimage而不是下一個(gè)命令,避免這個(gè)暫停。然而,除非絕對(duì)必要,否則別這么做。在這種情況下,創(chuàng)建數(shù)據(jù)不一致/不完整的映像的可能性會(huì)加大。

在本教程中,為因此生成的映像選擇了普通名稱:mycontainerimage。如果你愿意,可以更改此名稱。如果更改名稱,記得在遇到它的所有后續(xù)命令中替換它。

  
 
 
 
  1. docker commit NAME_OF_INSTANCE mycontainerimage 

現(xiàn)在,將此映像保存到文件,并壓縮它。

  
 
 
 
  1. docker save mycontainerimage | gzip > mycontainerimage.tar.gz 

接下來(lái),使用你青睞的文件傳輸方法,將mycontainerimage.tar.gz復(fù)制到想把容器遷移過去的那個(gè)主機(jī)。

將容器映像加載到目標(biāo)主機(jī)上

登錄到你已將映像轉(zhuǎn)移過去的主機(jī)后,將其導(dǎo)入到Docker。

  
 
 
 
  1. gunzip -c mycontainerimage.tar.gz | docker load 

由于你從未在這里初始化該容器,還無(wú)法用docker start啟動(dòng)它。相反,你首次運(yùn)行該Docker實(shí)例時(shí),發(fā)出在過去使用的同一個(gè)命令?,F(xiàn)在唯一的區(qū)別是你最后會(huì)使用“mycontainerimage”,而不是在過去使用的任何映像。

下一個(gè)命令只是一個(gè)例子;除非適用于你,否則別復(fù)制粘貼該命令。(首次運(yùn)行映像時(shí)不需要特殊參數(shù))

  
 
 
 
  1. docker run -d --name=PICK_NAME_FOR_CONTAINER mycontainerimage 

相比之下,在下面這個(gè)命令示例中,需要參數(shù)--publish將主機(jī)上的端口80轉(zhuǎn)發(fā)到容器上的端口80:

  
 
 
 
  1. docker run -d --name=http-server --publish 80:80 mycontainerimage 

之后,你可以使用docker stop和docker start命令正常停止和啟動(dòng)該容器。

無(wú)需創(chuàng)建文件即可傳輸映像

有時(shí)你可能想跳過創(chuàng)建mycontainerimage.tar.gz文件這一步。也許你沒有足夠的磁盤空間,因?yàn)槿萜骼锩嬗写罅繑?shù)據(jù)。你可以保存、壓縮、傳輸和解壓縮映像,并將映像加載到目標(biāo)主機(jī)上,一個(gè)命令即可搞定。運(yùn)行前面討論的docker commit命令后,你可以使用:

  
 
 
 
  1. docker save mycontainerimage | gzip | ssh root@203.0.113.1 'gunzip | docker load' 

它在Windows上應(yīng)該也管用,因?yàn)楝F(xiàn)在有內(nèi)置的SSH客戶端(PuTTY不再必不可少)。

然后,繼續(xù)使用適用于你情況的docker run命令。

結(jié)束語(yǔ)

作為偶爾移動(dòng)容器的臨時(shí)方案,docker save和docker load很棒。但請(qǐng)記住,如果你經(jīng)常移動(dòng)容器,可能應(yīng)該改而構(gòu)建自己的專有庫(kù)。


分享文章:如何將Docker容器復(fù)制/轉(zhuǎn)移到另一個(gè)主機(jī)?
文章來(lái)源:http://www.5511xx.com/article/dpdidpc.html