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

Leave a Comment

Mp3 Diags: แก้ไขปัญหาไฟล์เสียง Mp3 มากถึง 50 ปัญหา

Mp3 Diags: แก้ไขปัญหาไฟล์เสียง Mp3 มากถึง 50 ปัญหา

MP3 Diags คือเครื่องมือขั้นสุดยอดสำหรับแก้ไขปัญหาในคอลเลกชันเพลงของคุณ สามารถแท็กไฟล์ MP3 ของคุณได้อย่างถูกต้อง เพิ่มปกอัลบั้มที่หายไป และแก้ไข VBR

แอปการแจ้งเตือนบนเดสก์ท็อปของ Google Voice

แอปการแจ้งเตือนบนเดสก์ท็อปของ Google Voice

เช่นเดียวกับ Google Wave, Google Voice ได้สร้างกระแสฮือฮาไปทั่วโลก Google มุ่งมั่นที่จะเปลี่ยนแปลงวิธีการสื่อสารของเรา และนับตั้งแต่นั้นมาก็กำลังกลายเป็น...

ดาวน์โหลด Flickr Favorites ด้วย FlickrFaves

ดาวน์โหลด Flickr Favorites ด้วย FlickrFaves

มีเครื่องมือมากมายที่ช่วยให้ผู้ใช้ Flickr สามารถดาวน์โหลดรูปภาพคุณภาพสูงได้ แต่มีวิธีดาวน์โหลด Flickr Favorites บ้างไหม? เมื่อเร็ว ๆ นี้เราได้...

OK Sampler คือซอฟต์แวร์สุ่มตัวอย่างเพลงฟรี

OK Sampler คือซอฟต์แวร์สุ่มตัวอย่างเพลงฟรี

การสุ่มตัวอย่างคืออะไร? ตามข้อมูลของ Wikipedia “คือการนำส่วนหนึ่งหรือตัวอย่างจากการบันทึกเสียงหนึ่งมาใช้ซ้ำเป็นเครื่องดนตรีหรือ...

การสำรองข้อมูล Google Sites: นำเข้า/ส่งออก

การสำรองข้อมูล Google Sites: นำเข้า/ส่งออก

Google Sites เป็นบริการจาก Google ที่ช่วยให้ผู้ใช้โฮสต์เว็บไซต์บนเซิร์ฟเวอร์ของ Google แต่มีปัญหาหนึ่งคือไม่มีตัวเลือกสำรองข้อมูลในตัว

แอปพลิเคชันเดสก์ท็อป Google Tasks

แอปพลิเคชันเดสก์ท็อป Google Tasks

Google Tasks ไม่ได้รับความนิยมเท่ากับบริการอื่นๆ ของ Google เช่น ปฏิทิน Wave เสียง ฯลฯ แต่ยังคงใช้กันอย่างแพร่หลายและเป็นส่วนสำคัญของผู้คน

วิธีการกู้คืนพาร์ติชั่นและข้อมูลฮาร์ดดิสก์ที่สูญหาย [คู่มือ]

วิธีการกู้คืนพาร์ติชั่นและข้อมูลฮาร์ดดิสก์ที่สูญหาย [คู่มือ]

ในคู่มือฉบับก่อนหน้าของเราเกี่ยวกับการล้างฮาร์ดดิสก์และสื่อแบบถอดได้อย่างปลอดภัยผ่าน Ubuntu Live และซีดีบูต DBAN เราได้กล่าวถึงดิสก์ที่ใช้ Windows

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

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

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

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

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

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

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

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

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