วิธีถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker

บางครั้งคุณอาจต้องถ่ายโอนไฟล์จาก คอนเทนเนอร์ Dockerไปยังระบบโฮสต์เพื่อวัตถุประสงค์ในการสำรองข้อมูล ฯลฯ ซึ่งสามารถทำได้ง่ายๆ บน Linux ด้วยเครื่องมือdocker cp นี่คือวิธีการใช้งาน

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

วิธีถ่ายโอนไฟล์จากคอนเทนเนอร์ Docker ไปยังโฮสต์โดยใช้ Docker CP

หากคุณต้องการถ่ายโอนไฟล์ภายนอกคอนเทนเนอร์ Docker ไปยังระบบโฮสต์ วิธีที่เร็วและง่ายที่สุดในการดำเนินการคือใช้เครื่องมือ Docker CP ในการเริ่มต้น ให้ลงชื่อเข้าใช้เซิร์ฟเวอร์ของคุณผ่าน SSH หรือผ่านจอภาพจริงที่มีอินเทอร์เฟซเทอร์มินัล

เมื่อคุณเข้าสู่ระบบแล้ว ให้เข้าถึงบัญชีรูท คุณสามารถทำได้สองวิธี ด้วย คำสั่ง suหรือคำสั่งsudo -s

สุ

หรือ

sudo -s

หลังจากล็อกอินแล้ว ให้รันคำสั่งdocker ps การรันคำสั่งนี้จะแสดงคอนเทนเนอร์ที่กำลังทำงานอยู่ทั้งหมด ค้นหา ID ของคอนเทนเนอร์ที่คุณต้องการถ่ายโอนไฟล์ จากนั้นใช้คำสั่งต่อไปนี้เพื่อเข้าสู่คอนเทนเนอร์

หมายเหตุ: แทนที่ $id ด้วยรหัสคอนเทนเนอร์ของคุณ

นักเทียบท่า exec -it $id /bin/bash

เมื่อคุณเข้าสู่ระบบคอนเทนเนอร์ Docker โดยใช้ คำสั่ง docker execด้านบนแล้ว คุณจะต้องไปยังคอนเทนเนอร์และบีบอัดไฟล์ที่คุณต้องการถ่ายโอนโดยใช้ Docker CP

ในตัวอย่างนี้ เราจะใช้โฟลเดอร์ "ทดสอบ" ใน/root/ไดเร็กทอรี คุณจะต้องแก้ไขคำสั่งนี้เพื่อให้เหมาะกับความต้องการของคุณ

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

หลังจากบีบอัดไฟล์แล้ว ให้ออกจากคอนเทนเนอร์ คุณสามารถออกจากอินเทอร์เฟซเทอร์มินัลในคอนเทนเนอร์ Docker ของคุณได้โดยใช้คำสั่งexit ต่อไปนี้

ทางออก

สุดท้าย ถ่ายโอนไฟล์ของคุณจากคอนเทนเนอร์ไปยังระบบโฮสต์

นักเทียบท่า cp CONTAINER_ID:/path/to/archive.tar.gz /host/system/folder/

ถ่ายโอนไฟล์โดยไม่มีการบีบอัด

แม้ว่าจะไม่แนะนำให้โอนไฟล์โดยไม่บีบอัดก่อน (เพื่อความปลอดภัย) คุณสามารถทำได้ หากคุณต้องการถ่ายโอนไดเร็กทอรีที่มีไฟล์บางไฟล์ ให้ทำดังนี้

ขั้นแรก กำหนดเส้นทางของโฟลเดอร์โดยล็อกอินเข้าสู่คอนเทนเนอร์ คุณสามารถเข้าสู่คอนเทนเนอร์ด้วยคำสั่งด้านล่าง

สุ

นักเทียบท่า exec -it $id /bin/bash

หลังจากกำหนดเส้นทางไปยังโฟลเดอร์ที่คุณต้องการโอนย้ายออก ให้ออกจากคอนเทนเนอร์ จากนั้นรันคำสั่งdocker cp ต่อไปนี้

นักเทียบท่า cp CONTAINER_ID:/path/to/your/folder/ /host/system/folder/

วิธีถ่ายโอนไฟล์จากโฮสต์ไปยังคอนเทนเนอร์ Docker โดยใช้ Docker CP

นอกจากการถ่ายโอนไฟล์ผ่านคอนเทนเนอร์ Docker ไปยังโฮสต์แล้ว คุณยังสามารถถ่ายโอนไฟล์จากโฮสต์กลับไปยังคอนเทนเนอร์ได้อีกด้วย ค้นหาตำแหน่งของไฟล์ที่คุณต้องการถ่ายโอนไปยังคอนเทนเนอร์นักเทียบท่าของคุณ

เมื่อคุณพบไฟล์ที่คุณต้องการถ่ายโอนแล้ว ให้ใช้คำสั่งต่อไปนี้เพื่อบีบอัดไฟล์เหล่านั้น การบีบอัดโฟลเดอร์ช่วยให้ถ่ายโอนได้ง่ายขึ้น

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

หลังจากบีบอัดโฟลเดอร์ของคุณเป็นไฟล์เก็บถาวร Tar.GZ แล้ว คุณจะต้องได้รับ ID ของคอนเทนเนอร์ที่คุณต้องการถ่ายโอนไฟล์ไป ขั้นแรกให้ลงชื่อเข้าใช้รูทโดยใช้su หรือ sudo -s

สุ

หรือ

sudo -s

หลังจากลงชื่อเข้าใช้บัญชีรูทแล้ว ให้รันคำสั่งdocker ps คำสั่งนี้จะแสดงข้อมูลเกี่ยวกับคอนเทนเนอร์ที่กำลังทำงานอยู่ทั้งหมด จากนั้นคุณสามารถใช้ข้อมูลนี้และใช้ คำสั่ง docker cpเพื่อถ่ายโอนไฟล์เก็บถาวรที่บีบอัดของคุณ

นักเทียบท่า PS

นักเทียบท่า cp /path/to/my-archive.tar.gz CONTAINER_ID:/path/to/destination/

ถ่ายโอนไฟล์โดยไม่มีการบีบอัด

หากคุณต้องการถ่ายโอนไปยังคอนเทนเนอร์โดยไม่บีบอัดข้อมูลใดๆ ให้ทำดังนี้ ขั้นแรกให้ลงชื่อเข้าใช้รูทโดยใช้su หรือ sudo -s หลังจากที่คุณเข้าสู่ระบบในฐานะรูทแล้ว ให้ค้นหาเส้นทางของโฟลเดอร์ที่คุณต้องการถ่ายโอน

เมื่อคุณมีเส้นทางของโฟลเดอร์แล้ว ให้ใช้ คำสั่ง docker psเพื่อรับ ID คอนเทนเนอร์ของคอนเทนเนอร์ที่คุณต้องการถ่ายโอนไฟล์ไป จากนั้นใช้ คำสั่ง docker cp ต่อไปนี้ เพื่อคัดลอกไฟล์ไปยังระบบของคุณ

นักเทียบท่า cp /path/to/my/file/folder/ CONTAINER_ID:/path/to/destination/

วิธีถ่ายโอนไฟล์จากคอนเทนเนอร์ Docker จากโฮสต์ด้วย Rsync

การใช้ คำสั่ง docker cpควรจะเพียงพอในการถ่ายโอนไฟล์ไปยังและจากโฮสต์ อย่างไรก็ตาม คุณยังสามารถ Rsync ไฟล์จากคอนเทนเนอร์ไปยังโฮสต์ได้ โปรดทราบว่าคุณต้องเปิดใช้งานเซิร์ฟเวอร์ SSH และทำงานบนเครื่องโฮสต์

ในการเริ่มต้น ให้เข้าสู่ระบบในฐานะรูทบนโฮสต์เซิร์ฟเวอร์ Linux ของคุณผ่านทางเทอร์มินัล คุณสามารถลงชื่อเข้าใช้บัญชีรูทโดยใช้suหรือsudo -s หลังจากลงชื่อเข้าใช้บัญชีรูทแล้ว ให้รันคำสั่งdocker ps

สุ

หรือ

sudo -s

นักเทียบท่า PS

ค้นหา ID คอนเทนเนอร์ Docker และเข้าสู่ระบบโดยใช้คำสั่งด้านล่าง จากนั้นติดตั้งเครื่องมือ Rsync โดยใช้ตัวจัดการแพ็คเกจของคอนเทนเนอร์ อย่าลืมแทนที่ "$id" ด้วยรหัสคอนเทนเนอร์

นักเทียบท่า 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.

วิธีการตั้งค่าไฟร์วอลล์ SLES 15 ด้วย firewall-cmd

วิธีการตั้งค่าไฟร์วอลล์ SLES 15 ด้วย firewall-cmd

กำหนดค่า firewalld บน SLES 15: ตรวจสอบโซน อนุญาตบริการหรือพอร์ต บันทึกกฎถาวร โหลดใหม่ได้อย่างปลอดภัย และตรวจสอบการเข้าถึง

คู่มือการตั้งค่าการอัปเดต SLES Live Patching: อัปเดตเคอร์เนลโดยไม่ต้องรีบูตเครื่อง

คู่มือการตั้งค่าการอัปเดต SLES Live Patching: อัปเดตเคอร์เนลโดยไม่ต้องรีบูตเครื่อง

เปิดใช้งานการแพตช์เคอร์เนลแบบเรียลไทม์บน SLES 15 SP7 ใช้การแก้ไขที่รองรับโดยไม่ต้องรีบูต ตรวจสอบแพตช์ที่ใช้งานอยู่ และทำความเข้าใจว่าเมื่อใดที่ยังจำเป็นต้องรีสตาร์ทเคอร์เนล

วิธีเปิดใช้งานโหมด FIPS บน SUSE Linux Enterprise Server 15

วิธีเปิดใช้งานโหมด FIPS บน SUSE Linux Enterprise Server 15

เปิดใช้งานโหมด FIPS บน SLES 15 โดยใช้ยูทิลิตี้การตั้งค่าที่ SUSE รองรับ รีบูตอย่างปลอดภัย ตรวจสอบสถานะเคอร์เนลและนโยบายการเข้ารหัส และตรวจสอบขีดจำกัดการรับรอง

วิธีการติดตั้ง Google Chrome บน Gooroom OS โดยไม่ละเมิดนโยบายความปลอดภัย

วิธีการติดตั้ง Google Chrome บน Gooroom OS โดยไม่ละเมิดนโยบายความปลอดภัย

ติดตั้ง Google Chrome บน Gooroom OS อย่างปลอดภัยด้วยแพ็กเกจ .deb อย่างเป็นทางการ, APT, การตรวจสอบนโยบาย, คำแนะนำในการอัปเดต และการแก้ไขสำหรับอุปกรณ์ที่ได้รับการจัดการ

วิธีการส่งออกบันทึกระบบ SLES ไปยังเซิร์ฟเวอร์ Syslog ระยะไกลอย่างปลอดภัย

วิธีการส่งออกบันทึกระบบ SLES ไปยังเซิร์ฟเวอร์ Syslog ระยะไกลอย่างปลอดภัย

ส่งต่อบันทึกระบบ SLES ไปยังเซิร์ฟเวอร์ syslog ระยะไกลอย่างปลอดภัยด้วย rsyslog, ใบรับรอง TLS, การตรวจสอบชื่อคู่ค้า, คิว, การตรวจสอบความถูกต้อง และการทดสอบ

การผสานรวม Active Directory กับ SSSD ใน SLES 15: คู่มือทีละขั้นตอน

การผสานรวม Active Directory กับ SSSD ใน SLES 15: คู่มือทีละขั้นตอน

เชื่อมต่อ SLES 15 เข้ากับ Active Directory ด้วย SSSD โดยใช้ YaST เตรียม DNS และเวลา กำหนดค่าการเข้าสู่ระบบโดเมน ตรวจสอบ Kerberos และเปรียบเทียบ SSSD, Winbind และ realmd

แก้ไขปัญหาไดรเวอร์ Wi-Fi Realtek RTL8821CE บน Pardus Linux

แก้ไขปัญหาไดรเวอร์ Wi-Fi Realtek RTL8821CE บน Pardus Linux

แก้ไขปัญหา Wi-Fi RTL8821CE บน Pardus Linux โดยตรวจสอบไดรเวอร์ rtw88 ในตัว เฟิร์มแวร์ Realtek คำสั่ง rfkill, NetworkManager และตัวเลือกการสำรองข้อมูลที่ปลอดภัย

แก้ไขปัญหา "ความล้มเหลวชั่วคราวในการแก้ไข DNS" ใน Debian 12 ด้วย systemd-resolved

แก้ไขปัญหา "ความล้มเหลวชั่วคราวในการแก้ไข DNS" ใน Debian 12 ด้วย systemd-resolved

วินิจฉัยและแก้ไขปัญหาการแก้ไขชื่อโดเมน (DNS resolution) บน Debian 12 ที่ใช้ systemd-resolved รวมถึง resolv.conf, NetworkManager, networkd, cache และการตรวจสอบความถูกต้อง

วิธีการติดตั้งระบบปฏิบัติการ Pardus Linux ควบคู่กับ Windows 11 อย่างปลอดภัย

วิธีการติดตั้งระบบปฏิบัติการ Pardus Linux ควบคู่กับ Windows 11 อย่างปลอดภัย

ติดตั้ง Pardus 25.2 ควบคู่ไปกับ Windows 11 โดยทำการสำรองข้อมูล ลดขนาดไดรฟ์ Windows บูตจาก USB UEFI และปกป้องพาร์ติชั่น EFI และพาร์ติชั่นกู้คืนที่มีอยู่เดิม