Container คือการจำลองสภาพแวดล้อมระดับระบบปฏิบัติการสำหรับรันแอปพลิเคชัน ทำให้โปรแกรมทำงานได้สม่ำเสมอระหว่างเครื่องพัฒนาและเครื่องใช้งาน
Docker ใช้สร้าง Image และรัน Container ผู้เรียนจะเข้าใจแนวคิด Image, Container, Volume และการกำหนดคำสั่งรันโปรแกรม
การส่งมอบโปรแกรมควรมีขั้นตอน Build และ Run ที่ชัดเจน พร้อมเอกสารประกอบเพื่อให้ผู้อื่นรันซ้ำได้
ผู้เรียนนำเสนอผลงาน อธิบายปัญหา แนวทางออกแบบ โครงสร้างโค้ด การทดสอบ การใช้ Git และการรันด้วย Container
Build และ Run Mini Project ด้วย Docker จากนั้นนำเสนอผลลัพธ์และสรุปองค์ความรู้ที่ใช้จากรายวิชา
ผู้เรียนใช้ Container เพื่อทำให้โปรแกรมรันได้สม่ำเสมอในสภาพแวดล้อมที่ควบคุมได้ Dockerfile หรือคำสั่ง build/run ต้องระบุ dependency และขั้นตอนเริ่มโปรแกรมให้ชัดเจน หากโปรแกรมมีข้อมูลถาวรควรเข้าใจบทบาทของ Volume
การนำเสนอ Mini Project ต้องแสดงทั้งผลลัพธ์และกระบวนการพัฒนา ได้แก่ ปัญหาที่เลือกแก้ การออกแบบ UML โครงสร้างโค้ด แนวคิด OOP หรือโครงสร้างขั้นสูงที่ใช้ การทดสอบ การจัดการ error การใช้ Git และวิธีรันด้วย Container
จัดทำ README ของ Mini Project ให้มีคำอธิบายระบบ วิธีติดตั้ง วิธีรันด้วย Docker และตัวอย่างผลลัพธ์
OS-level Virtualization คือการแยกสภาพแวดล้อมของโปรแกรมด้วย container เพื่อให้รันซ้ำได้ใกล้เคียงกันในเครื่องต่าง ๆ และส่งมอบ Mini Project ได้ชัดเจนขึ้น
%%{init: {'theme': 'base', 'themeVariables': {'background': '#282828','primaryColor': '#3c3836','primaryTextColor': '#fbf1c7','primaryBorderColor': '#fabd2f','lineColor': '#fe8019','secondaryColor': '#504945','tertiaryColor': '#665c54'}}}%%
flowchart LR
A[Source Code
โค้ด] --> B[Dockerfile
คำสั่ง build]
B --> C[Image
อิมเมจ]
C --> D[Container
คอนเทนเนอร์]
D --> E[Demo
สาธิตโครงงาน]
# ใช้ image พื้นฐานสำหรับ C++
FROM gcc:latest
# กำหนดโฟลเดอร์ทำงานใน container
WORKDIR /app
# คัดลอก source code เข้า container
COPY . .
# build โปรแกรม
RUN g++ main.cpp -o app
# รันโปรแกรมเมื่อ container เริ่มทำงาน
CMD ["./app"]
| รายการส่งมอบ | รายละเอียด |
|---|---|
| Source Code | โค้ด Mini Project |
| README | วิธีติดตั้งและรัน |
| UML | แบบออกแบบระบบ |
| Test Evidence | หลักฐานการทดสอบ |
| Dockerfile | วิธีสร้าง container |