วิธีถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ 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/


วิธีการติดตั้ง GitLab บน Ubuntu Server

วิธีการติดตั้ง GitLab บน Ubuntu Server

คุณต้องการให้ GitLab ทำงานบนเซิร์ฟเวอร์ Ubuntu ของคุณหรือไม่? GitLab เป็นทางเลือกที่โฮสต์ได้เองที่มีประสิทธิภาพสำหรับบริการต่างๆ เช่น GitHub ด้วยคุณสามารถ

การรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu Linux ด้วย SELinux

การรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu Linux ด้วย SELinux

เรียนรู้วิธีเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ Ubuntu Linux โดยการติดตั้งและเปิดใช้งาน SELinux

กำหนดค่า NFS บนเซิร์ฟเวอร์ Linux ด้วย Cockpit

กำหนดค่า NFS บนเซิร์ฟเวอร์ Linux ด้วย Cockpit

ต้องการวิธีที่ง่ายกว่าในการเมานต์การแชร์ NFS บนเซิร์ฟเวอร์ Linux ของคุณหรือไม่ เรียนรู้วิธีเมานต์การแชร์ NFS ด้วยแอป Cockpit

วิธีอัปเกรดเป็น Ubuntu 22.04 LTS

วิธีอัปเกรดเป็น Ubuntu 22.04 LTS

การสนับสนุนระยะยาวของ Ubuntu 22.04 อยู่ที่นี่แล้ว! เรียนรู้วิธีอัปเกรดเดสก์ท็อปหรือแล็ปท็อปของคุณเป็น Ubuntu รุ่นล่าสุด

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

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

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

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

วิธีติดตั้งไฟล์ DEB บน Linux

วิธีติดตั้งไฟล์ DEB บน Linux

ไฟล์ DEB คืออะไร?? คุณจะทำอย่างไรกับมัน? เรียนรู้หลายวิธีที่คุณสามารถติดตั้งไฟล์ DEB บน Linux PC ของคุณ

วิธีทำให้ GOG Galaxy ทำงานบน Linux

วิธีทำให้ GOG Galaxy ทำงานบน Linux

คุณเป็นเจ้าของเกมบน GOG.com หรือไม่? ต้องการตั้งค่าไคลเอนต์ GOG Galaxy บนพีซี Linux ของคุณเพื่อเพลิดเพลินกับวิดีโอเกมหรือไม่? ทำตามคำแนะนำนี้ในขณะที่เราแสดง

วิธีการติดตั้ง Docker Engine บน CentOS

วิธีการติดตั้ง Docker Engine บน CentOS

Docker Engine เป็นโปรแกรมเปิดคอนเทนเนอร์สำหรับ Linux และแพลตฟอร์มอื่นๆ Docker Engine จัดการคอนเทนเนอร์ในตัวที่ทำงานคล้ายกับ

วิธีทำให้การแชททั้งหมดของคุณเป็นหนึ่งเดียวกับ Ferdi

วิธีทำให้การแชททั้งหมดของคุณเป็นหนึ่งเดียวกับ Ferdi

คุณเหนื่อยกับการติดตั้ง Slack, Discord และเครื่องมือเพิ่มประสิทธิภาพอื่น ๆ บนระบบ Linux ของคุณหรือไม่? คุณหวังว่าพวกเขาจะรวมเป็นหนึ่งเดียวได้ไหม