我們正在評估Docker以用於我們的應用程序,因此非常想知道以下問題:管理和移動Docker容器的最佳實踐是什麼?
在不同計算機之間移動泊塢窗圖像和容器的最佳做法是什麼? 另外如何在不同地區的生產環境中管理容器和圖像?
我們正在評估Docker以用於我們的應用程序,因此非常想知道以下問題:管理和移動Docker容器的最佳實踐是什麼?
在不同計算機之間移動泊塢窗圖像和容器的最佳做法是什麼? 另外如何在不同地區的生產環境中管理容器和圖像?
所有碼頭工人的建築首先必須使用註冊表(可以是私人或公共(如搬運工集線器)
1)答案推輓機制,你的第一個Question- 移動泊塢窗圖像和容器之間的機器?
您可以創建圖像或容器的tar文件,然後在您的機器之間移動tar文件。
使用泊塢窗PS -a檢查,然後根據您的需要使用下列的任何一個:
$搬運工PS -a
容器ID IMAGE命令創建的狀態 68d9619a7a91 Ubuntu的: 14.04「/ bin/bash」10秒前已退出
對於集裝箱搬運 - 使用碼頭出口和進口:
$搬運工出口68d9619a7a91> Ubuntu的container.tar
$搬運工進口 - 更新< Ubuntu的container.tar
圖像移動 - 使用泊塢窗保存和載入:
個$搬運工圖像
$搬運工節省-o image.tar
$搬運工負載< image.tar
2)其次question-管理在生產環境中的容器?
a)最好是擁有自己的私人註冊表來管理您的容器所需的所有圖像。假設您有一個專用節點作爲Docker註冊表,您的所有泊塢窗圖像都將保留。現在,您可以將更改或圖像更新推送到註冊表,然後相應地將此圖像從此註冊表中拖到您的機器上,該機器將從此運行容器圖片。
B)在集羣和不同雲提供商管理圖像/箱的另一個好方法是使用Kubernetes(由谷歌開源)。雖然我們還沒有實現Kubernetes,但只是開始研究它的文檔,如果您使用的是Docker容器和雲,它看起來非常有前途。
我會謹慎反對圖像移動。如果您需要另一臺計算機上的映像,請將其構建爲您的配置項或部署過程的一部分。這樣它可以標記並自動管理它。總是自動化。 –
我也同意在生產中你不應該使用tar移動和使用你的圖像。這就是爲什麼我提到要維護一個私人註冊表,在DockerFile中生成的所有最新圖像都將保留下來,並且您只需從正在運行的計算機上拖拉...您可以使用docker文件與CI在運行實例上構建圖像,但是不會重用圖像。但即使使用CI自動化,您也必須在不同的機器上構建DockerFile –
此外,我們還面臨着在每個EC2實例上構建dockerFile的docker圖像的問題,因爲相同的DockerFile可能無法在相同機器配置下始終運行良好。顯然CI的自動化方式比移動(或導出導入)要好。但是,我提到了一種可以使用docker命令的方式,因爲它在開發過程中可能有用。 –