如何將文件傳輸到 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。首先,使用su或sudo -s登錄 root 。

蘇

或者

須藤-s

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

碼頭工人

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

傳輸不壓縮的文件

如果您希望轉移到容器而不壓縮任何內容,請按以下步驟操作。首先,使用su或sudo -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 服務器。您可以使用su或sudo -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/

留下評論

Fix Screen Tearing on Intel Graphics in Pardus Linux: A Result-Focused Guide

Fix Screen Tearing on Intel Graphics in Pardus Linux: A Result-Focused Guide

Fix Intel graphics screen tearing in Pardus Linux by checking X11 vs. Wayland, compositor settings, refresh rate, active Xorg driver, and TearFree only when appropriate.

如何使用 firewall-cmd 設定 SLES 15 防火牆

如何使用 firewall-cmd 設定 SLES 15 防火牆

在 SLES 15 上設定 firewalld:檢查區域、允許服務或連接埠、儲存永久規則、安全重新載入並驗證存取。

SLES 線上修補程式配置指南:無需重新啟動即可套用核心更新

SLES 線上修補程式配置指南:無需重新啟動即可套用核心更新

在 SLES 15 SP7 上啟用核心即時修補,無需重新啟動即可應用支援的修復程序,驗證活動補丁,並了解何時仍需要重新啟動核心。

如何在 SUSE Linux Enterprise Server 15 上啟用 FIPS 模式

如何在 SUSE Linux Enterprise Server 15 上啟用 FIPS 模式

使用 SUSE 支援的設定公用程式在 SLES 15 上啟用 FIPS 模式,安全重啟,驗證核心和加密策略狀態,並檢查認證限制。

如何在不違反安全策略的情況下在 Gooroom OS 上安裝 Google Chrome

如何在不違反安全策略的情況下在 Gooroom OS 上安裝 Google Chrome

使用官方 .deb 軟體包、APT、策略檢查、更新指南和受管設備修復程序,安全地在 Gooroom OS 上安裝 Google Chrome。

如何安全地將SLES系統日誌匯出到遠端Syslog伺服器

如何安全地將SLES系統日誌匯出到遠端Syslog伺服器

使用 rsyslog、TLS 憑證、對等名稱驗證、佇列、驗證和測試,安全地將 SLES 系統日誌轉送到遠端 syslog 伺服器。

SLES 15 Active Directory 與 SSSD 整合:逐步指南

SLES 15 Active Directory 與 SSSD 整合:逐步指南

使用 YaST 將 SLES 15 加入到具有 SSSD 的 Active Directory。準備 DNS 和時間,配置網域登錄,驗證 Kerberos,並比較 SSSD、Winbind 和 realmd。

修正 Pardus Linux 系統上的 Realtek RTL8821CE Wi-Fi 驅動程式問題

修正 Pardus Linux 系統上的 Realtek RTL8821CE Wi-Fi 驅動程式問題

透過檢查內建的 rtw88 驅動程式、Realtek 韌體、rfkill、NetworkManager 和安全性回退選項來修復 Pardus Linux 上的 RTL8821CE Wi-Fi。

修正 Debian 12 中 systemd-resolved 導致的「DNS 解析暫時失敗」問題

修正 Debian 12 中 systemd-resolved 導致的「DNS 解析暫時失敗」問題

使用 systemd-resolved 診斷和修復 Debian 12 DNS 解析失敗,包括 resolv.conf、NetworkManager、networkd、快取和驗證。

如何安全地在 Windows 11 系統上安裝 Pardus Linux 雙系統

如何安全地在 Windows 11 系統上安裝 Pardus Linux 雙系統

在 Windows 11 旁邊安裝 Pardus 25.2,方法是備份、縮小 Windows 磁碟區、啟動 UEFI USB 並保護現有的 EFI 和復原分割區。