0Pricing
Learn AI with Python · บทเรียน

การจัดแบบจำลอง 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-slim

WORKDIR /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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นฐาน FastAPI สำหรับวิศวกรแมชชีนเลิร์นนิง
  2. สคีมา Pydantic สำหรับคำขอและการตอบกลับ
  3. การโหลดและให้บริการโมเดลแมชชีนเลิร์นนิง
  4. การจัดแบบจำลอง API ไว้ใน Docker
← กลับไปที่ Learn AI with Python