การจัดแบบจำลอง API ไว้ใน Docker
Dockerfile สำหรับ FastAPI และแบบจำลอง การสร้างหลายระยะ จุดปลายทางตรวจสอบสถานะ และ docker-compose
การจัดแบบจำลอง API ไว้ใน Docker เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดจึงใช้ด็อกเกอร์
ด็อกเกอร์ บรรจุเอพีไอ เวอร์ชันไพธอน และสิ่งที่ต้องพึ่งพาทั้งหมดไว้ในอิมเมจแบบพกพาเดียว ซึ่งทำงานเหมือนกันบนทุกเครื่อง ช่วยขจัดปัญหา "ทำงานได้บนแล็ปท็อปของฉัน" และเป็นวิธีมาตรฐานสำหรับส่งมอบบริการแมชชีนเลิร์นนิง
ไฟล์ด็อกเกอร์
ไฟล์ด็อกเกอร์ คือสูตรของขั้นตอนการสร้าง แต่ละคำสั่งจะสร้างเลเยอร์ที่เก็บไว้ในแคช ดังนั้นการเรียงลำดับขั้นตอนอย่างเหมาะสมจึงช่วยให้สร้างใหม่ได้เร็วขึ้น
FROM python:3.11-slim
บรรทัด FROM ใช้เลือกอิมเมจพื้นฐาน python:3.11-slim เป็นอิมเมจเดเบียนขนาดเล็กที่ติดตั้งไพธอนไว้แล้ว มีขนาดเบากว่าอิมเมจฉบับเต็มมาก จึงช่วยลดขนาดสุดท้ายและพื้นที่โจมตี
FROM python:3.11-slimWORKDIR /app
WORKDIR กำหนดไดเรกทอรีทำงานภายในคอนเทนเนอร์ คำสั่ง COPY และ RUN ที่ตามมาจะทำงานโดยอ้างอิงจากไดเรกทอรีนี้ ทำให้เส้นทางต่าง ๆ เป็นระเบียบ
WORKDIR /appคัดลอก requirements ก่อน
คัดลอก requirements.txt เพียงไฟล์เดียวก่อนคัดลอกซอร์สโค้ด เนื่องจากด็อกเกอร์เก็บเลเยอร์ไว้ในแคช สิ่งที่ต้องพึ่งพาจะถูกติดตั้งใหม่เฉพาะเมื่อข้อกำหนดเปลี่ยนแปลง ไม่ใช่ทุกครั้งที่แก้ไขโค้ด จึงช่วยเร่งการสร้างใหม่ได้อย่างมาก
COPY requirements.txt .RUN pip install --no-cache-dir
RUN ใช้เรียกใช้คำสั่งระหว่างการสร้าง --no-cache-dir จะข้ามแคชดาวน์โหลดของ pip ทำให้อิมเมจมีขนาดเล็กลง เพราะแคชดังกล่าวไม่มีประโยชน์ภายในอิมเมจอยู่แล้ว
RUN pip install --no-cache-dir -r requirements.txtคัดลอกซอร์สโค้ด
ตอนนี้ให้คัดลอกส่วนที่เหลือของแอปพลิเคชัน การทำขั้นตอนนี้หลังการติดตั้ง pip หมายความว่าการแก้ไขโค้ดจะไม่ทำให้เลเยอร์สิ่งที่ต้องพึ่งพาซึ่งอยู่ในแคชต้องใช้งานไม่ได้
COPY . .EXPOSE 8000
EXPOSE ใช้ระบุพอร์ตที่คอนเทนเนอร์รับฟัง โดยไม่ได้เผยแพร่พอร์ตนั้นเอง (ต้องทำตอนเรียกใช้ด้วย -p) แต่ช่วยสื่อเจตนาให้ผู้อ่านและเครื่องมือต่าง ๆ ทราบ
EXPOSE 8000คำสั่ง CMD
CMD กำหนดคำสั่งเริ่มต้นที่จะทำงานเมื่อคอนเทนเนอร์เริ่มต้นระบบ ในที่นี้จะเรียกใช้ยูวิคอร์นโดยผูกกับ 0.0.0.0 เพื่อให้เข้าถึงได้จากภายนอกคอนเทนเนอร์
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]ไฟล์ด็อกเกอร์ฉบับสมบูรณ์
ส่วนประกอบทั้งหมดเรียงตามลำดับที่ถูกต้องและเหมาะกับการใช้แคช:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]การสร้างและเรียกใช้
สร้างอิมเมจพร้อมแท็ก จากนั้นเรียกใช้โดยแมปพอร์ตของคอนเทนเนอร์กับเครื่องโฮสต์ด้วย -p
# terminal
docker build -t model-api .
docker run -p 8000:8000 model-apiตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความรู้เกี่ยวกับด็อกเกอร์ของท่าน
ทบทวน
ท่านบรรจุเอพีไอด้วยด็อกเกอร์แล้ว: FROM python:3.11-slim, WORKDIR /app, คัดลอก requirements.txt ก่อน, RUN pip install --no-cache-dir, คัดลอกซอร์สโค้ด, EXPOSE 8000 และใช้ CMD เพื่อเรียกใช้ยูวิคอร์น การเรียงลำดับขั้นตอนเพื่อใช้แคชของเลเยอร์ช่วยให้สร้างใหม่ได้อย่างรวดเร็ว หลักสูตรการให้บริการด้วย FastAPI และเนื้อหาชุดนี้จบลงเพียงเท่านี้
คำถามที่พบบ่อย
บทเรียน “การจัดแบบจำลอง API ไว้ใน Docker” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดแบบจำลอง API ไว้ใน Docker” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดแบบจำลอง API ไว้ใน Docker”
Dockerfile สำหรับ FastAPI และแบบจำลอง การสร้างหลายระยะ จุดปลายทางตรวจสอบสถานะ และ docker-compose คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การจัดแบบจำลอง API ไว้ใน Docker” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม
ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน FastAPI สำหรับวิศวกรแมชชีนเลิร์นนิง
- สคีมา Pydantic สำหรับคำขอและการตอบกลับ
- การโหลดและให้บริการโมเดลแมชชีนเลิร์นนิง
- การจัดแบบจำลอง API ไว้ใน Docker