2017-07-08 66 views
0

我正在使用Ubuntu 14.04並運行一些碼頭容器和圖像與Python腳本。現在我必須重新安裝到另一臺Ubuntu機器。有沒有辦法備份我的碼頭環境

Ex: that machine is not even having docker installed 

有沒有辦法來備份完整的碼頭工人引擎從我配置的機器到另一臺機器

+0

碼頭本身是一個容器,你爲什麼要備份。您必須安裝docker來運行圖像/容器 –

回答

1

要備份的位置因運行容器的方式以及要還原到的環境而異。有些目錄備份包括:

  • 在/ var/lib中/泊塢窗:這包括所有的圖像,容器,插件和羣設置
  • 的/ etc /泊塢窗:這包括daemon.json任何自定義,是常用的TLS證書
  • 的/ etc/systemd /系統/泊塢窗*:您可以在這個位置

什麼,這並不包括你已經安裝任何容器特定主機卷已定製的啓動腳本到主機文件系統上的各個位置。您可以通過以下方式查找這些目錄:

$ docker ps -q | xargs docker inspect -f '{{.Name}}: 
{{ range .HostConfig.Binds }}{{.}} 
{{end}} 
' 

如果以某種方式更改目標服務器,更改運行不同版本的Linux的內核,您可能會更改存儲驅動程序,這會導致舊圖像和容器無法訪問。在這種情況下,爲了複製圖像,我建議您使用註冊表服務器來推送您的圖像,並將它們放在新主機上。註冊表服務器可以相當容易地在容器中運行,並且是在主機之間移動圖像的首選方式。如果出於某種原因無法使用註冊表服務器,則可以在舊主機上使用docker save,在新主機上使用docker load將圖像保存到tar文件並導入它們。

隨着平臺更改,在複製圖像後,您仍需要複製/var/lib/docker/volumes和任何其他主機位置中的卷。然後,您需要複製容器配置,最好使用docker-compose.yml來重新啓動新主機上的容器。

1

至少,你有新的Ubuntu計算機上安裝多克(相同的版本如果可能的話)。

在您的原始機器上,您可以正常關閉您的容器。備份/var/lib/docker(默認情況下),然後在新機器上恢復。

我使用AWS EC2現貨實例執行此操作。不保證這是否適用於不同版本的Docker。

相關問題