ฉันใช้คำสั่งต่อไปนี้ภายในคอนเทนเนอร์ในฐานะผู้ใช้ทั่วไปที่ไม่ใช่รูท
gcsfuse --foreground --debug_fuse --debug_fs --debug_gcs --debug_http my-bucket /data
และใช้งานได้ ในท้องถิ่น เมื่อฉันเริ่มคอนเทนเนอร์ด้วย --สิทธิพิเศษ
และก็ไม่เป็นไร
แต่สิ่งเดียวกันนี้ใช้ไม่ได้กับ Cloud Run (เมื่อใช้สภาพแวดล้อมการดำเนินการแสดงตัวอย่างรุ่นที่ 2) ฉันได้รับข้อผิดพลาดต่อไปนี้:
2022-05-13 12:08:41.547 CEST gcs: 2022/05/13 10:08:41.546642 Req 0x1: -> ListObjects("") (46.897367ms): ตกลง
2022-05-13 12:08:41.551 CEST /usr/bin/fusermount: ไม่สามารถเปิด /dev/fuse: ปฏิเสธการอนุญาต
2022-05-13 12:08:41.551 CEST mountWithArgs: mountWithConn: Mount: mount: กำลังทำงาน /usr/bin/fusermount: exit สถานะ 1
บรรทัดบันทึกการแก้ไขข้อบกพร่องอื่นๆ ทั้งหมด, HTTP, GCS และอื่นๆ แสดงการทำงานทุกอย่าง
ฉันสร้างผู้ใช้ของฉันแบบนี้ในไฟล์ ไฟล์นักเทียบท่า
RUN useradd -lmU joe\
&& mkdir -p /ข้อมูล \
&& chown -R joe:joe /ข้อมูล
USER โจ
เดอะ เอกสารกล่าวว่า ว่าฉัน ควรรัน gcsfuse ในฐานะผู้ใช้ที่จะใช้ระบบไฟล์ ไม่ใช่รูทแต่มันใช้งานไม่ได้ มีความคิดอะไรที่ฉันทำผิด?