Score:0

จะเรียกใช้ไฟล์ .env ในโครงการ Django ที่ทำงานในคอนเทนเนอร์ Docker บนเซิร์ฟเวอร์ K8s ได้อย่างไร

ธง es

ฉันมักจะต้องการเพียงคำใบ้ในทิศทางที่ถูกต้อง

ฉันมีคอนเทนเนอร์นักเทียบท่าที่รันแอป Django โดยใช้ gunicorn และ nginx แอป Django นี้กำลังรับตัวแปรสภาพแวดล้อมจากไฟล์ .env

จากหลาม:อัลไพน์
เปิดเผย 8000

อัปเดต RUN apk
RUN apk เพิ่ม --no-cache git gcc musl-dev libffi-dev libxml2-dev libxslt-dev gcc swig g++
RUN apk เพิ่ม --no-cache jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff- dev tk-dev tcl-dev
RUN apk เพิ่ม --no-cache bash ffmpeg libmagic
RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install --upgrade setuptools

รัน mkdir /opt/app
เวิร์กดีอาร์ /opt/app
สำเนา .
RUN python3 -m ติดตั้ง pip /root/d12f/

RUN pip3 ติดตั้ง -r requirement.txt
RUN pip3 ติดตั้ง gunicorn
CMD sh -c 'gunicorn --conf python:app.gunicorn_conf app.wsgi --bind 0.0.0.0:8000 --reload --ข้อมูลระดับบันทึก --การเข้าถึง-logfile - --timeout 360 --error-logfile - '

แน่นอนว่าไม่มีไฟล์ .env ใน repo เนื่องจากอาจเป็นความเสี่ยงด้านความปลอดภัย

อิมเมจ Docker กำลังสร้างโดย GitHub และจัดเก็บไว้ในแพ็คเกจ GitHub ส่วนตัว ในภายหลังมีการใช้อิมเมจนักเทียบท่านี้เพื่อทำงานบน Kubernetes

ฉันกำลังพยายามหาทางออกที่ดีที่สุดในการใส่ไฟล์ .env

/opt/app/app/.env

เป็นไฟล์ในเครื่อง

ฉันไม่ต้องการใช้ตัวแปรสภาพแวดล้อมส่วนกลาง ถ้าเป็นไปได้

ขอบคุณสำหรับคำแนะนำใด ๆ

Score:1
ธง tz

ในภายหลังมีการใช้อิมเมจนักเทียบท่านี้เพื่อทำงานบน Kubernetes

จัดเก็บของคุณ .env ไฟล์เป็น ความลับ กับ คูเบก [1]:

kubectl สร้าง app-env ทั่วไปลับ --from-file=.env=/path/to/your/.env

จากนั้นคุณสามารถติดตั้ง ความลับ เป็นปริมาณในของคุณ พ็อด คำนิยาม [2], [3]:

---
api เวอร์ชัน: v1
ชนิด: ฝัก
...
ข้อมูลจำเพาะ:
  ตู้คอนเทนเนอร์:
    ...
  - ชื่อ: แอป
    ภาพ: ภาพของคุณ:แท็ก
    ปริมาณการติดตั้ง:
    - ชื่อ: app-env-vol # เมานต์ชื่อวอลุ่ม
      mountPath: /opt/app/app # ถึง /opt/app/app
      อ่านอย่างเดียว: จริง # เป็นแบบอ่านอย่างเดียว
    ...
  ปริมาณ:
    ...
  - ชื่อ: app-env-vol # สร้างปริมาณ app-env
    ความลับ:
      secretName: app-env # พร้อมชื่อลับ
    ...

แอปพลิเคชันของคุณควรจะสามารถเข้าถึงได้ สิ่งแวดล้อมอยู่ใน /opt/app/app/.env.

Score:-2
ธง cn

ใช้ ว้าว หรือคำสั่ง cli ของผู้ให้บริการคลาวด์เพื่อดึงลงมาที่รันไทม์

คุณต้องใช้กลไกการตรวจสอบสิทธิ์เพื่อป้องกันใน "ที่เก็บไฟล์ config" เช่น IAM และ Bucket ที่ปลอดภัย หรือที่เก็บการกำหนดค่าของคุณควรยอมรับไฟล์ด้วย

เอ็มวี ไฟล์ลงใน opt dir ที่เหมาะสม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา