การดำเนินการคำสั่งภายใน LXC ที่รันอยู่


18

ฉันต้องการรันคำสั่งภายใน lxc ที่มีอยู่โดยไม่ต้องผ่าน init Linux ปกติ lxc-executeคำสั่งสำหรับการที่ฉันเดา แต่ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันเรียกใช้คำสั่งนี้ในการทดสอบที่มีอยู่ของฉัน lxc

sudo lxc-execute -n test -- service apache2 start 

ฉันได้รับข้อผิดพลาดดังต่อไปนี้:

lxc-execute: Failed to find an lxc-init
lxc-execute: invalid sequence number 1. expected 4
lxc-execute: failed to spawn 'test'

คำตอบ:


19

คุณเคยลองมาแล้วlxc-attachหรือยัง? ตามเอกสาร

lxc-attach - เริ่มกระบวนการภายในคอนเทนเนอร์ที่กำลังรัน

ตัวอย่างเพื่อแสดงรายการโฟลเดอร์ทั้งหมดภายในhomeคอนเทนเนอร์

lxc-attach -n myContainer -- ls -lh /home

หากไม่มีกระบวนการที่กำหนดไว้มันจะสร้างเชลล์ใหม่ภายในคอนเทนเนอร์


1

lxc-executeถูกออกแบบมาเพื่อสร้างและเรียกใช้และคอนเทนเนอร์ lxc และดำเนินการคำสั่ง ดังนั้นจึงไม่สามารถใช้เพื่อดำเนินการคำสั่งการตั้งค่าและเริ่มต้นหนึ่ง

ใบเสนอราคาจาก Serge E. Hallyn @ https://www.mail-archive.com/lxc-users@lists.sourceforge.net/msg00134.html

การย้ายกระบวนการที่มีอยู่ไปสู่เนมสเปซที่มีอยู่เดิมจะไม่มีทางเป็นไปได้

คุณอาจลองใช้คำสั่ง lxc ของ Ullrich Horlacher แต่ขณะนี้หน้าเว็บนั้นไม่เป็นระเบียบ กระบวนการอธิบายไว้ในโพสต์นี้:

https://www.mail-archive.com/lxc-users@lists.sourceforge.net/msg01970.html

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