ฉันจะส่งออกคอนเทนเนอร์ lxc ได้อย่างไร


3

เป็นไปได้หรือไม่ที่จะส่งออกlxcคอนเทนเนอร์ไปยังเครื่องอื่น? มีเครื่องมือบางอย่างเช่นมีlxc-snapและlxc-cloneจะช่วยให้ผู้ที่อยู่ในการส่งออกไปยังระบบอื่นได้หรือไม่ ฉันสามารถคัดลอกวางโฟลเดอร์ rootfs หรือมีวิธีมาตรฐานในการทำเช่นนี้


1
ฉันคิดว่านี่คือสิ่งที่publishมีไว้สำหรับ จากนั้นคุณสามารถนำเข้าในเครื่องอื่น ...
jsejcksn

ยังไม่ได้ใช้มัน การวางสำเนาแบบธรรมดามักใช้งานกับ LXC มัน abstracts ระบบปฏิบัติการเป็นโฟลเดอร์เพื่อให้เป็นเรื่องง่ายเหมือนคัดลอกแปะพร้อมกับไฟล์ config มากมาย
Nishant

1
linuxcontainers.org/lxd/try-itมีการสอนพื้นฐานเกี่ยวกับการเผยแพร่และนำเข้าและคุณสามารถค้นหาข้อมูลเนื้อหาหัวใจของคุณได้ที่insights.ubuntu.com/2016/04/01/lxd-2-0-image-management- 512
jsejcksn

ลิงค์ที่น่ากลัว! จะผ่านมันไป ย้อนกลับไปในวันที่ฉันมีปัญหานี้ไม่มีทรัพยากรที่ฉันสามารถหาได้ อย่างไรก็ตามมันช่วยให้ฉันเรียนรู้สิ่งใหม่ ๆ เช่นchrootingฯลฯ ซึ่งฉันได้เตรียมไว้เป็นตัวเลือกอื่น
Nishant

1
LXC / D 2.0 นับเป็นก้าวต่อไปที่ยิ่งใหญ่!
jsejcksn

คำตอบ:


2

ฉันไม่คิดว่าlxc-cloneและlxc-snapควรจะใช้สำหรับการเคลื่อนย้ายตู้คอนเทนเนอร์ไปยังเครื่องใหม่ เหตุผลสำหรับคำสั่งเหล่านี้ตามหนึ่งในนักพัฒนา LXC คือ:

หนึ่งในกรณีการใช้งานที่ชัดเจนของสแน็ปช็อตโคลนนิ่งเหล่านี้คือการสนับสนุนการพัฒนารูปภาพ rootfs ที่เพิ่มขึ้น ทำการเปลี่ยนแปลงสแนปชอตทำการเปลี่ยนแปลงเพิ่มเติมสแน็ปช็อตย้อนกลับ ...

ไม่มีการเอ่ยถึงการส่งออกไปยังเครื่องอื่น ...

ในเวลาเดียวกันฉันได้ประสบความสำเร็จในการย้ายพอร์ต Debian LXC จากเครื่อง Debian ไปยังเครื่อง Arch Linux โดยการสร้างคอนเทนเนอร์ Debian LXC เป็นครั้งแรกโดยไม่มีการปรับแต่งใด ๆ จากนั้นคัดลอกไปยังเครื่องใหม่config, fstab, lxcname.logไฟล์และrootfsไดเรกทอรี คุณอาจลองทำเหมือนอย่างที่ฉันเคยทำ แต่ ... YMMV


น่ากลัว! ฉันมีความคิดเดียวกัน ฉันกำลังคิดที่จะคัดลอกไฟล์รูทเช่นกัน แต่ต้องการดูว่ามีเครื่องมืออยู่หรือไม่ น่าสนใจที่จะเห็น config fstab และ lxcname.log ในรายการไฟล์ที่จะคัดลอก ผมจะเลือกตัวเลือกนี้เป็นคำตอบที่ดีที่สุดเว้นแต่มีคนแนะนำเครื่องมือซึ่งเห็นได้ชัดไม่ได้อยู่ ATM :)
Nishant

1

ฉันเรียกใช้lxcคอนเทนเนอร์บนbtrfsไดรฟ์ข้อมูลเพื่อให้สามารถจับภาพได้อย่างง่ายดายbtrfs sub snap

สิ่งเหล่านี้สามารถย้ายไปยังbtrfsระบบไฟล์ระยะไกลได้เร็วกว่าการrsyncใช้:

btrfs send /my/snapshot | ssh user@host.com "btrfs receive /my/destination"

btrfsมีความฉลาดในการถ่ายภาพสแนปชอตและไม่รวมระบบไฟล์เสมือน [ proc run sys] ถ่ายโอนภาพรวมที่เพิ่มขึ้นนอกจากนี้ยังเป็นไปได้

เมื่อย้ายสแน็ปช็อตไปยัง btrfsระบบไฟล์ที่ไม่ใช่ :

  • เมาท์ปลายทางระยะไกลเป็นsshfsระบบไฟล์ & cdไปยังเมานต์
  • หยุดคอนเทนเนอร์และสร้างที่tar.xzเก็บถาวรของคอนเทนเนอร์

0

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

ฉันมักจะมีปัญหากับ NAT ใน LXC Containers ดังนั้นหากคุณเป็นผู้ใช้ที่มีน้ำหนักเบาคุณก็สามารถchrootเข้าสู่ระบบได้ ขณะนี้ฉันใช้lxc-templatesเพื่อสร้างสำเนาของระบบปฏิบัติการที่ต้องการแล้วchrootลงในระบบนั้นเพื่อทำสิ่งต่าง ๆ ของฉัน ฉันไม่ต้องการ virtualization ในกรณีที่ใช้งาน ความคิดนั้นง่ายมาก (ไม่ใช่ในแง่ของการใช้งาน) ที่สามารถทำการพอร์ตได้อย่างง่ายดาย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.