คู่มือเริ่มต้นใช้งาน Docker: เริ่มต้นใช้งานคอนเทนเนอร์แอปพลิเคชันของคุณอย่างรวดเร็ว
2/18/2026
3 min read
```markdown
# คู่มือเริ่มต้นใช้งาน Docker: เริ่มต้นใช้งานคอนเทนเนอร์แอปพลิเคชันของคุณอย่างรวดเร็ว
Docker ได้กลายเป็นส่วนสำคัญของการพัฒนาและปรับใช้ซอฟต์แวร์สมัยใหม่ แม้ว่าการสนทนาเกี่ยวกับ Kubernetes จะแพร่หลาย แต่ Docker ยังคงเป็นเครื่องมือที่บริษัทจำนวนมากเลือกใช้ในการสร้าง ทดสอบ และปรับใช้แอปพลิเคชัน บทความนี้จะนำคุณเข้าสู่ Docker อย่างรวดเร็ว ทำความเข้าใจแนวคิดหลัก และให้ตัวอย่างที่เป็นประโยชน์เพื่อช่วยให้คุณเริ่มต้นใช้งานคอนเทนเนอร์แอปพลิเคชันของคุณ
## แนวคิดหลักของ Docker
ก่อนเริ่มลงมือปฏิบัติจริง การทำความเข้าใจแนวคิดหลักบางประการของ Docker เป็นสิ่งสำคัญ:
* **อิมเมจ (Image):** อิมเมจคือเทมเพลตแบบอ่านอย่างเดียว ซึ่งมีทุกสิ่งที่จำเป็นในการรันแอปพลิเคชัน: โค้ด สภาพแวดล้อมรันไทม์ เครื่องมือระบบ ไลบรารี และ dependencies คล้ายกับอิมเมจของเครื่องเสมือน แต่มีน้ำหนักเบากว่า
* **คอนเทนเนอร์ (Container):** คอนเทนเนอร์คืออินสแตนซ์ที่กำลังรันซึ่งสร้างจากอิมเมจ เป็นอินสแตนซ์รันไทม์ของอิมเมจ ซึ่งมีแอปพลิเคชันและ dependencies ทั้งหมด คอนเทนเนอร์ถูกแยกออกจากกัน มีระบบไฟล์ กระบวนการ และพื้นที่เครือข่ายของตัวเอง
* **Docker Hub:** Docker Hub คือที่เก็บอิมเมจสาธารณะ ซึ่งคุณสามารถดาวน์โหลดอิมเมจที่สร้างไว้ล่วงหน้า หรืออัปโหลดอิมเมจของคุณเองได้ คล้ายกับ GitHub แต่เฉพาะสำหรับอิมเมจ Docker
* **Dockerfile:** Dockerfile คือไฟล์ข้อความที่มีคำสั่งทั้งหมดสำหรับการสร้างอิมเมจ Docker โดยการเขียน Dockerfile คุณสามารถทำให้กระบวนการสร้างอิมเมจเป็นไปโดยอัตโนมัติ
* **Docker Compose:** Docker Compose เป็นเครื่องมือสำหรับกำหนดและรันแอปพลิเคชัน Docker แบบหลายคอนเทนเนอร์ ช่วยให้คุณกำหนดค่าบริการของแอปพลิเคชันโดยใช้ไฟล์ YAML จากนั้นใช้คำสั่งเดียวเพื่อเริ่มหรือหยุดบริการทั้งหมด
## การติดตั้ง Docker
ขั้นแรก คุณต้องติดตั้ง Docker Docker มีแพ็คเกจการติดตั้งสำหรับระบบปฏิบัติการต่างๆ เข้าไปที่ [เว็บไซต์ทางการของ Docker](https://www.docker.com/get-started/) และทำตามคำแนะนำที่เกี่ยวข้องเพื่อทำการติดตั้ง
เมื่อติดตั้งเสร็จแล้ว คุณสามารถตรวจสอบว่า Docker ได้รับการติดตั้งอย่างถูกต้องหรือไม่โดยการรันคำสั่ง `docker --version`
## คอนเทนเนอร์แอปพลิเคชัน Python อย่างง่าย
เราจะสร้างแอปพลิเคชัน Python อย่างง่าย และใช้ Docker เพื่อคอนเทนเนอร์
### 1. สร้างแอปพลิเคชัน Python
สร้างไฟล์ชื่อ `app.py` ที่มีโค้ดต่อไปนี้:
```python
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, Docker!"
if __name__ == "__main__":
app.run(debug=True, host='0.0.0.0')
```
แอปพลิเคชัน Flask อย่างง่ายนี้จะส่งคืน "Hello, Docker!" บนเส้นทาง root `/`
### 2. สร้างไฟล์ `requirements.txt`
แอปพลิเคชันขึ้นอยู่กับไลบรารี Flask เราต้องสร้างไฟล์ `requirements.txt` เพื่อประกาศ dependencies เหล่านี้
```
Flask
```
### 3. สร้าง Dockerfile
สร้างไฟล์ชื่อ `Dockerfile` และเพิ่มเนื้อหาต่อไปนี้:
```dockerfile
# ใช้อิมเมจ Python อย่างเป็นทางการเป็นอิมเมจพื้นฐาน
FROM python:3.9-slim-buster
# ตั้งค่าไดเรกทอรีการทำงาน
WORKDIR /app
# คัดลอกไฟล์ requirements.txt ไปยังไดเรกทอรีการทำงาน
COPY requirements.txt .
# ติดตั้ง dependencies
RUN pip install --no-cache-dir -r requirements.txt
```# 将应用程序代码复制到工作目录
COPY app.py .
# 暴露端口 5000
EXPOSE 5000
# 定义启动命令
CMD ["python", "app.py"]
```
**Dockerfile 说明:**
* `FROM python:3.9-slim-buster`: กำหนดอิมเมจพื้นฐานเป็น Python 3.9 รุ่น Slim-Buster
* `WORKDIR /app`: ตั้งค่าไดเรกทอรีการทำงานภายในคอนเทนเนอร์เป็น `/app`
* `COPY requirements.txt .`: คัดลอกไฟล์ `requirements.txt` จากไดเรกทอรีปัจจุบันไปยังไดเรกทอรี `/app` ของคอนเทนเนอร์
* `RUN pip install --no-cache-dir -r requirements.txt`: รันคำสั่ง `pip` ภายในคอนเทนเนอร์เพื่อติดตั้ง dependencies ที่ระบุไว้ในไฟล์ `requirements.txt` พารามิเตอร์ `--no-cache-dir` สามารถลดขนาดของอิมเมจได้
* `COPY app.py .`: คัดลอกไฟล์ `app.py` จากไดเรกทอรีปัจจุบันไปยังไดเรกทอรี `/app` ของคอนเทนเนอร์
* `EXPOSE 5000`: ประกาศว่าคอนเทนเนอร์จะรับฟังพอร์ต 5000
* `CMD ["python", "app.py"]`: กำหนดคำสั่งที่จะรันเมื่อคอนเทนเนอร์เริ่มต้น
### 4. สร้าง Docker อิมเมจ
ในไดเรกทอรีที่มี `Dockerfile` ให้รันคำสั่งต่อไปนี้เพื่อสร้าง Docker อิมเมจ:
```bash
docker build -t my-python-app .
```
* `docker build`: คำสั่งสำหรับสร้างอิมเมจ
* `-t my-python-app`: กำหนดชื่อให้กับอิมเมจ (`my-python-app`)
* `.`: ระบุไดเรกทอรีที่ `Dockerfile` อยู่ (ไดเรกทอรีปัจจุบัน)
กระบวนการสร้างอาจใช้เวลาสักครู่ ขึ้นอยู่กับความเร็วเครือข่ายและขนาดของ dependencies
### 5. รัน Docker คอนเทนเนอร์
ใช้คำสั่งต่อไปนี้เพื่อรัน Docker คอนเทนเนอร์:
```bash
docker run -d -p 5000:5000 my-python-app
```
* `docker run`: คำสั่งสำหรับรันคอนเทนเนอร์
* `-d`: รันคอนเทนเนอร์ใน detached mode (รันในเบื้องหลัง)
* `-p 5000:5000`: แมปพอร์ต 5000 ของโฮสต์ไปยังพอร์ต 5000 ของคอนเทนเนอร์
* `my-python-app`: ระบุชื่ออิมเมจที่จะใช้
### 6. ตรวจสอบแอปพลิเคชัน
ในเบราว์เซอร์ ให้เข้าถึง `http://localhost:5000` คุณควรจะเห็น "Hello, Docker!"
### 7. หยุดและลบคอนเทนเนอร์
ใช้คำสั่งต่อไปนี้เพื่อหยุดคอนเทนเนอร์:
```bash
docker stop
```
`` สามารถดูได้โดยใช้คำสั่ง `docker ps`
ใช้คำสั่งต่อไปนี้เพื่อลบคอนเทนเนอร์:
```bash
docker rm
```
## เริ่มต้นใช้งาน Docker Compose
หากแอปพลิเคชันของคุณประกอบด้วยหลายบริการ คุณสามารถใช้ Docker Compose เพื่อจัดการบริการเหล่านั้นได้
### 1. สร้างไฟล์ `docker-compose.yml`
สร้างไฟล์ชื่อ `docker-compose.yml` และเพิ่มเนื้อหาต่อไปนี้:
```yaml
version: "3.9"
services:
web:
image: my-python-app
ports:
- "5000:5000"
```
**docker-compose.yml 说明:**
* `version: "3.9"`: ระบุเวอร์ชันของไฟล์ Docker Compose
* `services`: กำหนดบริการของแอปพลิเคชัน
* `web`: กำหนดบริการชื่อ "web"
* `image: my-python-app`: ระบุอิมเมจที่บริการใช้
* `ports`: กำหนดการแมปพอร์ต
### 2. เริ่มต้นแอปพลิเคชัน
ในไดเร็กทอรีที่มีไฟล์ `docker-compose.yml` ให้รันคำสั่งต่อไปนี้เพื่อเริ่มต้นแอปพลิเคชัน:
```bash
docker-compose up -d
```
* `docker-compose up`: คำสั่งเริ่มต้นแอปพลิเคชัน
* `-d`: รันคอนเทนเนอร์ในโหมด detached (ทำงานเบื้องหลัง)
### 3. หยุดแอปพลิเคชัน
ใช้คำสั่งต่อไปนี้เพื่อหยุดแอปพลิเคชัน:
```bash
docker-compose down
```
## แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยของ Docker
จากที่ได้กล่าวมา ความปลอดภัยของอิมเมจ Docker เป็นประเด็นสำคัญ ต่อไปนี้คือแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยของ Docker:
* **ใช้อิมเมจอย่างเป็นทางการ:** พยายามใช้อิมเมจที่จัดทำโดยทางการให้มากที่สุด อิมเมจเหล่านี้มักจะผ่านการสแกนและบำรุงรักษาความปลอดภัยแล้ว
* **สแกนหาช่องโหว่ในอิมเมจ:** ใช้เครื่องมือเช่น Trivy เพื่อสแกนหาช่องโหว่ที่ทราบในอิมเมจ และอัปเดตอิมเมจให้ทันเวลา
* **ใช้หลักการสิทธิ์ขั้นต่ำ:** หลีกเลี่ยงการรันคอนเทนเนอร์ในฐานะผู้ใช้ root
* **จำกัดทรัพยากรของคอนเทนเนอร์:** ใช้ cgroups เพื่อจำกัดการใช้ CPU และหน่วยความจำของคอนเทนเนอร์
* **อัปเดตอิมเมจเป็นประจำ:** รักษาอิมเมจให้ทันสมัยเพื่อแก้ไขช่องโหว่ด้านความปลอดภัย
* **ใช้เครื่องมือสแกนความปลอดภัย:** เครื่องมือเช่น Snyk, Clair สามารถรวมเข้ากับขั้นตอน CI/CD ของคุณเพื่อสแกนหาช่องโหว่ในอิมเมจโดยอัตโนมัติ
## สรุปบทความนี้ให้คำแนะนำเบื้องต้นเกี่ยวกับ Docker อย่างรวดเร็ว ครอบคลุมแนวคิดหลัก ขั้นตอนการติดตั้ง และตัวอย่างการทำ Containerization แอปพลิเคชัน Python อย่างง่าย
โดยการเรียนรู้พื้นฐานเหล่านี้ คุณสามารถเริ่มต้นใช้ Docker เพื่อสร้าง ทดสอบ และปรับใช้แอปพลิเคชันของคุณได้
โปรดจำไว้ว่าความปลอดภัยเป็นสิ่งสำคัญยิ่ง คุณควรให้ความสำคัญกับความปลอดภัยของอิมเมจ Docker เสมอ และใช้มาตรการที่เหมาะสมเพื่อปกป้องแอปพลิเคชันของคุณ
แม้ว่า Kubernetes จะมีประสิทธิภาพในการจัดระเบียบ Container ขนาดใหญ่ แต่ Docker ยังคงเป็นโซลูชันที่เรียบง่ายและมีประสิทธิภาพในหลายสถานการณ์
การเรียนรู้ Docker จะช่วยให้คุณรับมือกับความท้าทายของการพัฒนาและปรับใช้ซอฟต์แวร์สมัยใหม่ได้ดียิ่งขึ้น
โดยการเรียนรู้พื้นฐานเหล่านี้ คุณสามารถเริ่มต้นใช้ Docker เพื่อสร้าง ทดสอบ และปรับใช้แอปพลิเคชันของคุณได้
โปรดจำไว้ว่าความปลอดภัยเป็นสิ่งสำคัญยิ่ง คุณควรให้ความสำคัญกับความปลอดภัยของอิมเมจ Docker เสมอ และใช้มาตรการที่เหมาะสมเพื่อปกป้องแอปพลิเคชันของคุณ
แม้ว่า Kubernetes จะมีประสิทธิภาพในการจัดระเบียบ Container ขนาดใหญ่ แต่ Docker ยังคงเป็นโซลูชันที่เรียบง่ายและมีประสิทธิภาพในหลายสถานการณ์
การเรียนรู้ Docker จะช่วยให้คุณรับมือกับความท้าทายของการพัฒนาและปรับใช้ซอฟต์แวร์สมัยใหม่ได้ดียิ่งขึ้น
Published in Technology





