如何將文件傳輸到 Docker 容器

有時您可能需要將文件Docker容器傳輸到主機系統以進行備份等。這可以在 Linux 上使用docker cp工具輕鬆完成。以下是如何使用它。

xr:d:DAFds8YL9ik:2,j:43601822907,t:23032003

如何使用 Docker CP 將文件從 Docker 容器傳輸到主機

如果您需要將 Docker 容器外部的文件傳輸到主機系統,最快、最簡單的方法是使用 Docker CP 工具。首先,通過 SSH 或通過帶有終端接口的物理監視器登錄到您的服務器。

登錄後,訪問 Root 帳戶。您可以通過兩種方式執行此操作。使用su命令或sudo -s命令。

或者

須藤-s

登錄後,運行docker ps命令。運行此命令將顯示所有正在運行的容器。搜索您計劃從中傳輸文件的容器的 ID。然後,使用以下命令登錄容器。

注意:將 $id 替換為您的容器 ID。

docker exec -it $id /bin/bash

現在您已使用上面的docker exec命令登錄到 Docker 容器,您需要導航容器並使用 Docker CP 壓縮要傳輸的文件。

在此示例中,我們將使用目錄中的“test”文件夾/root/。您需要修改此命令以滿足您的需要。

tar -czvf my-archive.tar.gz /root/test/

壓縮文件後,退出容器。您可以使用以下exit命令退出 Docker 容器中的終端界面。

出口

最後,將文件從容器傳輸到主機系統。

docker cp CONTAINER_ID:/path/to/archive.tar.gz /host/system/folder/

傳輸不壓縮的文件

雖然不建議在不先壓縮文件的情況下傳輸文件(為了安全起見),但您可以。如果您只想傳輸包含某些文件的目錄,請按以下步驟操作。

首先,通過登錄容器確定文件夾的路徑。您可以使用以下命令登錄容器。

docker exec -it $id /bin/bash

確定要轉出的文件夾的路徑後,退出容器。然後,運行以下docker cp命令。

docker cp CONTAINER_ID:/path/to/your/folder/ /host/system/folder/

如何使用 Docker CP 將文件從主機傳輸到 Docker 容器

除了通過 Docker 容器將文件傳輸到主機之外,還可以將文件從主機傳輸回容器。找到您想要傳輸到 Docker 容器的文件的位置。

找到要傳輸的文件後,請使用以下命令來壓縮它們。壓縮文件夾可以更輕鬆地傳輸。

tar -czvf my-archive.tar.gz /path/to/your/folder/

將文件夾壓縮為 Tar.GZ 存檔後,您需要獲取要將文件傳輸到的容器的 ID。首先,使用susudo -s登錄 root 。

或者

須藤-s

登錄root賬戶後,運行docker ps命令。此命令將顯示有關所有正在運行的容器的信息。然後,您可以獲取此信息並使用docker cp命令來傳輸壓縮存檔。

碼頭工人

docker cp /path/to/my-archive.tar.gz CONTAINER_ID:/path/to/destination/

傳輸不壓縮的文件

如果您希望轉移到容器而不壓縮任何內容,請按以下步驟操作。首先,使用susudo -s登錄 root 。以 root 身份登錄後,找到您要傳輸的文件夾路徑。

獲得文件夾路徑後,使用docker ps命令獲取要將文件傳輸到的容器的容器 ID。然後,使用以下docker cp命令將文件複製到您的系統。

docker cp /path/to/my/file/folder/ CONTAINER_ID:/path/to/destination/

如何使用 Rsync 從主機傳輸 Docker 容器中的文件

使用docker cp命令應該足以在主機之間傳輸文件。但是,也可以將文件從容器 Rsync 到主機。請記住,您必須在主機上啟用並運行 SSH 服務器。

首先,通過終端以 root 身份登錄主機 Linux 服務器。您可以使用susudo -s登錄 root 帳戶。登錄root賬戶後,運行docker ps命令。

或者

須藤-s

碼頭工人

找到 Docker 容器 ID,然後使用以下命令登錄。然後,使用容器的包管理器安裝 Rsync 工具。請務必將“$id”替換為容器 ID。

docker exec -it $id /bin/bash

使用容器的包管理器安裝 Rsync 後,使用下面的 Rsync 命令將文件從容器同步到主機。

rsync -avz -e ssh /path/to/local/files/ user@remote:/path/to/remote/files/


使用 Pano 改進 Gnome Shell 剪貼板

使用 Pano 改進 Gnome Shell 剪貼板

讓我們面對現實吧,默認的 Gnome Shell 剪貼板並不是很好。安裝 Pano 來改善您的剪貼板體驗!

如何在Linux上安裝DaVinci Resolve 17

如何在Linux上安裝DaVinci Resolve 17

您的 Linux 機器需要一個出色的非線性視頻編輯器嗎?使用本指南使用 Davinci Resolve 17!

如何使用壁紙下載器將壁紙下載到 Linux 桌面

如何使用壁紙下載器將壁紙下載到 Linux 桌面

Wallpaper Downloader 是一個靈活的 Linux 壁紙下載和管理器。它支持大多數Linux桌面環境,並且非常易於使用。本指南

如何在計算機上安裝 Tuxedo 操作系統

如何在計算機上安裝 Tuxedo 操作系統

想要通過 Tuxedo 計算機測試 Tuxedo 操作系統嗎?了解如何讓最新版本的 Tuxedo OS 在您的 PC 上運行。

如何在 Linux 上安裝 DEB 文件

如何在 Linux 上安裝 DEB 文件

什麼是 .DEB 文件?你用它做什麼?了解在 Linux PC 上安裝 DEB 文件的多種方法。

如何在 Linux 上玩消逝的光芒

如何在 Linux 上玩消逝的光芒

《消逝的光芒》是一款由 Techland 開發、華納兄弟互動娛樂發行的 2015 年生存恐怖視頻遊戲。遊戲的中心是

如何在計算機上安裝 Neptune Linux

如何在計算機上安裝 Neptune Linux

Neptune 使用 KDE Plasma 5 桌面環境,旨在提供優雅的操作系統。以下是如何在計算機上安裝 Neptune Linux。

嘗試 Ubuntu 的新基於 snap 的桌面

嘗試 Ubuntu 的新基於 snap 的桌面

想嘗試 Ubuntu 的新的基於 snap 包的桌面操作系統嗎?通過本指南了解如何將其部署在虛擬機上。

如何在 Linux 上玩《傳說之下》

如何在 Linux 上玩《傳說之下》

Undertale 是一款 2015 年 2D 獨立角色扮演遊戲,由遊戲開發商 Toby Fox 開發和發行。本指南將介紹在您的電腦上下載和安裝 Undertale

如何在 Linux 上玩《全面戰爭:三個王國》

如何在 Linux 上玩《全面戰爭:三個王國》

《全面戰爭:三個王國》是一款由 Creative Assembly 開發的回合製策略 RTS 遊戲。下面是如何在 Linux 上玩遊戲。