如何備份和恢復 Docker 容器?
Docker 允許我們自動化構建和部署應用程式的過程。它還允許我們建立一個打包的環境來執行應用程式,這使得它易於移植和輕量級,同時也允許我們跟蹤版本。所有這些都是透過 Docker 容器實現的。它有助於使應用程式與平臺無關。
假設我們在我們的機器上執行一個 docker 容器,並且我們想要拍攝該容器的快照或保留備份,以便在緊急情況下,如果我們想要回滾更改或使用之前的快照執行容器,我們可以輕鬆地使用儲存的備份來做到這一點。因此,備份和恢復 docker 容器可以成為專案的重要組成部分。
在本文中,我們將學習如何使用某些命令來備份和恢復 Docker 容器。我們還需要注意,本文中用於備份 docker 容器的過程不適用於使用單獨資料卷的容器。要備份那些使用單獨資料卷的 docker 容器,我們需要為每個資料卷建立單獨的備份。
備份 Docker 容器
首先,為了備份 docker 容器,我們需要該特定容器的容器 ID。我們將使用 ps 命令獲取所有正在執行的容器的容器 ID,並複製我們需要備份的那個。
檢視下面的命令:
sudo docker ps −a
之後,複製要建立備份的 docker 容器的容器 ID。要建立 docker 容器的快照,我們使用 docker commit 命令。Docker commit 命令的格式為:
sudo docker commit −p <CONTAINER_ID> <BACKUP_NAME>
示例
sudo docker commit −p 5c2f44fbb535 backup-ubuntu
要將映象儲存為本地機器上的 tar 檔案,可以使用此命令。
sudo docker save −o ∽/backup−ubuntu.tar backup−ubuntu
使用此命令檢查儲存的 tar 檔案。
sudo ls −l ∽/backup−ubuntu.tar
您也可以選擇將映象備份直接推送到 docker 登錄檔。使用此命令執行此操作。將使用者名稱替換為您的 docker hub 使用者名稱。
sudo docker login sudo docker push backup−ubuntu:tag
恢復 Docker 容器
建立 docker 容器的備份後,如果要恢復容器以使用它,以下是您可以執行的操作。
如果您已將 tar 檔案儲存在主機機器中,則可以使用 docker load 命令將其恢復。使用以下命令執行此操作。
sudo docker load −i ∽/backup-ubuntu.tar
要確認映象是否已成功恢復,可以使用以下命令列出所有映象。
sudo docker images
如果您已將備份的映象推送到 docker 登錄檔,則可以使用以下命令將其拉回。
sudo docker pull backup-ubuntu:tag
在本地機器上恢復映象後,可以使用 docker run 命令執行恢復的 docker 映象的新例項。可以使用以下命令執行此操作。
sudo docker run −ti backup−ubuntu:tag
在本文中,我們學習瞭如何備份和恢復 docker 容器。如果您想將執行在主機機器上的 docker 容器遷移到另一臺機器,可以使用這兩個過程(備份和恢復)的組合來執行此操作。如果您已建立映象的備份並將其推送到 docker 登錄檔,則只需登入目標機器並拉取備份的映象即可。如果您已建立 tar 檔案來備份容器,則可以將 tar 檔案複製貼上到目標機器上,並使用 docker load 命令載入映象,然後使用 docker run 命令執行容器。