ก่อนอื่นกลุ่ม cg จะไม่ถูกใช้เพื่อแยกแอปพลิเคชันจากผู้อื่นในระบบ พวกเขาจะใช้ในการจัดการการใช้ทรัพยากรและการเข้าถึงอุปกรณ์ เป็นเนมสเปซต่างๆ (PID, UTS, mount, user ... ) ที่ให้การแยก (จำกัด ) บางอย่าง
ยิ่งกว่านั้นกระบวนการที่เปิดตัวภายในคอนเทนเนอร์ Docker อาจไม่สามารถจัดการโปรไฟล์ AppArmor ที่กำลังทำงานอยู่ได้ วิธีการที่ใช้อยู่ในปัจจุบันคือการตั้งค่าโปรไฟล์ AppArmor ที่เฉพาะเจาะจงก่อนเปิดตัวคอนเทนเนอร์
ดูเหมือนว่าโปรแกรมควบคุมการทำงาน libcontainer ใน Docker รองรับการตั้งค่าโปรไฟล์ AppArmor สำหรับตู้คอนเทนเนอร์แต่ฉันไม่พบตัวอย่างหรือการอ้างอิงในเอกสาร
AppArmor Apparently รองรับLXC ใน Ubuntuด้วย
คุณควรเขียนโปรไฟล์ AppArmor สำหรับแอปพลิเคชันของคุณและตรวจสอบให้แน่ใจว่าโหลด LXC / libcontainer / Docker / ... ก่อนเริ่มกระบวนการภายในคอนเทนเนอร์
ส่วนกำหนดค่าที่ใช้วิธีนี้ควรถูกบังคับใช้และเพื่อทดสอบคุณควรลองใช้การเข้าถึงที่ผิดกฎหมาย
ไม่มีลิงก์ระหว่างไบนารีและโปรไฟล์ที่บังคับใช้จริงในกรณีนี้ คุณต้องบอก Docker / LXC อย่างชัดเจนเพื่อใช้โปรไฟล์นี้สำหรับคอนเทนเนอร์ของคุณ การเขียนโปรไฟล์สำหรับไบนารี MySQL จะบังคับใช้กับโฮสต์เท่านั้นไม่ใช่ในคอนเทนเนอร์