ส่งการตั้งค่าผ่านตัวแปรสภาพแวดล้อม
เก็บเส้นทางโมเดลและข้อมูลลับไว้นอกอิมเมจ
ส่งการตั้งค่าผ่านตัวแปรสภาพแวดล้อม เป็นบทเรียน MLOps Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MLOps Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน
อย่าฝังการตั้งค่าไว้ในอิมเมจ
การเขียนเส้นทางโมเดลหรือคีย์ API ไว้ตายตัวจะฝังข้อมูลนั้นลงในอิมเมจตลอดไป ให้ส่งค่าเหล่านี้เป็น ตัวแปรสภาพแวดล้อม ขณะรันแทน
อ่านตัวแปรสภาพแวดล้อมใน Python
ใช้ os.getenv เพื่ออ่านค่าตัวแปร พร้อมกำหนดค่าเริ่มต้นที่เหมาะสม จากนั้นโค้ดของคุณจะปรับตามแต่ละสภาพแวดล้อมโดยไม่ต้องแก้ไข
import os
model_path = os.getenv("MODEL_PATH", "/models/latest.pkl")ค่าเริ่มต้นภายในอิมเมจ
คำสั่ง ENV ใน Dockerfile จะกำหนดค่าเริ่มต้นที่ฝังอยู่ในอิมเมจ เหมาะสำหรับการตั้งค่าที่ไม่ใช่ความลับและเปลี่ยนแปลงไม่บ่อย
ENV MODEL_PATH=/models/latest.pklแทนที่ค่าเมื่อเรียกใช้
แทนที่ค่าใดก็ได้ด้วย -e ใน docker run จากนั้นอิมเมจเดียวกันก็สามารถให้บริการทั้งสภาพแวดล้อมทดสอบหรือสภาพแวดล้อมจริงด้วยการตั้งค่าที่แตกต่างกัน
docker run -e MODEL_PATH=/models/v2.pkl model-apiจัดกลุ่มตัวแปรไว้ในไฟล์
จัดเก็บตัวแปรจำนวนมากให้เป็นระเบียบในไฟล์ แล้วโหลดด้วย --env-file คำสั่งเรียกใช้ของคุณจะสั้นและอ่านง่าย
docker run --env-file prod.env model-apiอย่าคอมมิตข้อมูลลับ
เก็บไฟล์ข้อมูลลับไว้นอก Git และนอกอิมเมจ เพิ่ม .env ลงใน .gitignore และ .dockerignore เพื่อป้องกันไม่ให้ข้อมูลรั่วไหล
ข้อมูลลับต้องอยู่นอกระบบ
secrets ที่แท้จริง เช่น รหัสผ่านฐานข้อมูล ควรมาจากคลังเก็บข้อมูลลับหรือเครื่องมือจัดการข้อมูลลับของแพลตฟอร์ม และฉีดเข้าไปเฉพาะขณะเรียกใช้เท่านั้น
ตรวจสอบเมื่อเริ่มต้น
ตรวจสอบตัวแปรที่จำเป็นเมื่อแอปเริ่มทำงาน และให้โปรแกรมล้มเหลวอย่างชัดเจนหากมีตัวใดหายไป การหยุดทำงานพร้อมข้อความชัดเจนย่อมดีกว่าการทำนายผิดโดยไม่มีสัญญาณเตือน
if not os.getenv("MODEL_PATH"):
raise RuntimeError("MODEL_PATH is required")การตั้งค่าแบบ Twelve-Factor
หลักการ twelve-factor ระบุให้จัดเก็บการตั้งค่าไว้ในสภาพแวดล้อม วิธีนี้ทำให้อิมเมจเดียวสามารถนำไปใช้ได้กับเป้าหมายการนำส่งทุกแบบ
การตั้งค่า Pydantic
เครื่องมืออย่าง pydantic-settings จะอ่านตัวแปรสภาพแวดล้อมลงในออบเจ็กต์การตั้งค่าที่มีชนิดข้อมูล พร้อมตรวจสอบชนิดข้อมูลและค่าเริ่มต้นในจุดเดียวอย่างเป็นระเบียบ
from pydantic_settings import BaseSettingsอิมเมจเดียว หลายสภาพแวดล้อม
ประโยชน์คือ สร้าง once แล้วเรียกใช้อิมเมจเดียวกันทุกประการในสภาพแวดล้อมพัฒนา ทดสอบ และจริง โดยเปลี่ยนเฉพาะตัวแปรที่คุณฉีดเข้าไป
ตรวจสอบอย่างรวดเร็ว
มาดูกันว่าการตั้งค่าควรอยู่ที่ใด
สรุปทบทวน
คุณอ่านการตั้งค่าด้วย os.getenv กำหนดค่าเริ่มต้นผ่าน ENV แทนที่ค่าด้วย -e และ --env-file และเก็บข้อมูลลับไว้ภายนอก ได้อิมเมจแบบพกพาเพียงหนึ่งเดียว ✅
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “ส่งการตั้งค่าผ่านตัวแปรสภาพแวดล้อม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ส่งการตั้งค่าผ่านตัวแปรสภาพแวดล้อม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MLOps Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ส่งการตั้งค่าผ่านตัวแปรสภาพแวดล้อม”
เก็บเส้นทางโมเดลและข้อมูลลับไว้นอกอิมเมจ คุณปฏิบัติ MLOps Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MLOps Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน MLOps Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ส่งการตั้งค่าผ่านตัวแปรสภาพแวดล้อม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน MLOps Academy นี้ได้ไหม
ได้ บทเรียน MLOps Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เขียน Dockerfile สำหรับ API ของโมเดล
- ลดขนาดอิมเมจด้วยการสร้างหลายระยะ
- ส่งการตั้งค่าผ่านตัวแปรสภาพแวดล้อม
- รันและทดสอบคอนเทนเนอร์ภายในเครื่อง