2015-02-05 98 views
4

我有一個名爲「ubuntu-dev-update-15」的5GB docker鏡像,我在本地的Ubuntu 14 dev機器上開發了鏡像。 在這個圖像中,我擁有了我需要的一切來完成我的開發工作。 現在我需要能夠發送這個圖像到不同的Linux主機。 這樣做的過程是什麼?如何在單個文件中打包docker鏡像

回答

0

在碼頭集線器上獲得一個帳戶。

https://hub.docker.com/account/signup/ 

一旦簽署了(只是做一次),你有你要推圖像主機登錄:

docker login 
    (login with your username, password, and email address) 

然後你把你的圖片在那裏。你可能需要先標記它。說你創建了一個名爲mynewacc新帳戶,首先,你標記你的形象:

docker tag ubuntu-dev-update-15 mynewacc/ubuntu-dev-update-15 

然後按圖片到你的搬運工樞紐:

docker push mynewacc/ubuntu-dev-update-15 

現在別人有搬運工可以拉你的形象下降:

docker pull mynewacc/ubuntu-dev-update-15 

然後以運行圖像:

docker run -it mynewacc/ubuntu-dev-update-15 /bin/bash 

你可以跳過拉步,如果圖像不存在,它將被拉動。拉保證你得到最新鮮的一個。 -g

8

如果您的不同linux主機位於同一網絡中,您可以使用FTP或本地HTTP服務器或共享傳輸保存的映像以在本地傳輸文件。 使用保存的:

docker save [OPTIONS] IMAGE [IMAGE...] 

例子:sudo docker save -o ubuntu.tar ubuntu:precise ubuntu:unicorn

其中-o保存到一個文件,而不是標準輸出。 轉移這個tar文件到其他Linux使用新的主機host.Load此tar文件:docker load [OPTIONS]

例子:sudo docker load --input fedora.tar

其中--input從tar歸檔文件中讀取,而不是STDIN。

1

Docker hub是移動文件的一個選項。 但是從生產角度來看,最好在要發送圖像的機器上運行註冊表(用於存儲圖像的位置)。

例如,您想要將圖像從system1發送到system2。 讓你的圖像名稱爲my_image。

您需要將圖像與重命名:通過使用標籤選項

docker tag my_image <system1-ip>:5000/my_image 
5000/my_image

現在運行

docker run -p <system1-ip>:5000:5000 -d registry 

把你的圖片插入此註冊表打開系統1註冊表

現在通過使用推命令推入註冊表

docker push <system1-ip>:5000/my_image 

現在轉到system2並從註冊表中拉出圖像。

docker pull <system1-ip>:5000/my_image 

這是傳輸圖像最安全的方式。 參考鏈接creating a private repository