ฉันได้ปรับใช้แอปพลิเคชันของฉันกับคลัสเตอร์ kubernetes ที่ไม่อนุญาตให้ผู้ใช้รูทภายในพ็อด เลยต้องเปลี่ยน user เป็น ubuntu ด้วยเหตุนี้ ฉันจึงเปลี่ยนพอร์ตเริ่มต้นของ apache2 จาก 80 เป็น 8080 เนื่องจากพอร์ต < 1024 ไม่ได้รับอนุญาตให้เริ่มทำงานหากไม่มีการเข้าถึงรูท
ปัญหาของฉันคือเมื่อเซิร์ฟเวอร์ apache2 เริ่มทำงานมันจะแสดงข้อผิดพลาด
chown: การเปลี่ยนความเป็นเจ้าของของ '/var/lock/apache2.Ct3C4fV26c': ไม่อนุญาตให้ดำเนินการ
ดังนั้นสำหรับการทดสอบนี้ ฉันรันอิมเมจในโลคัลโดยใช้ docker run image:id
ในคอนเทนเนอร์นักเทียบท่าโลคัล ฉันสังเกตเห็นว่าสิ่งนี้เกิดขึ้นเป็นครั้งแรกเท่านั้น เมื่อฉันเริ่มต้นด้วยผู้ใช้ทั่วไป มันล้มเหลว แต่เมื่อฉันเริ่มต้นด้วย sudo ครั้งแรก มันจะทำงาน:
sudo บริการ apache2 เริ่มต้น
ครั้งที่สองเป็นต้นไปจะเริ่มโดยไม่มี sudo
บริการ apache2 เริ่มต้น
โปรดทราบว่าฉันกำลังตั้งค่าสิทธิ์ apt ไว้ล่วงหน้าสำหรับการใช้งานแอปพลิเคชันของฉัน เช่น:
sudo chown -R อูบุนตู:อูบุนตู /var/lock/
sudo chown -R อูบุนตู:อูบุนตู /mnt/log/apache2/
sudo chown -R อูบุนตู:อูบุนตู /var/log/