คู่มือเริ่มต้นใช้งาน 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 จะช่วยให้คุณรับมือกับความท้าทายของการพัฒนาและปรับใช้ซอฟต์แวร์สมัยใหม่ได้ดียิ่งขึ้น
Published in Technology

You Might Also Like

วิธีการใช้เทคโนโลยีคลาวด์คอมพิวติ้ง: คู่มือที่สมบูรณ์ในการสร้างโครงสร้างพื้นฐานคลาวด์แรกของคุณTechnology

วิธีการใช้เทคโนโลยีคลาวด์คอมพิวติ้ง: คู่มือที่สมบูรณ์ในการสร้างโครงสร้างพื้นฐานคลาวด์แรกของคุณ

[[HTMLPLACEHOLDER0]] [[HTMLPLACEHOLDER1]] [[HTMLPLACEHOLDER2]] [[HTMLPLACEHOLDER3]] [[HTMLPLACEHOLDER4]] [[HTMLPLACEHOLD...

เตือนภัย! ผู้ก่อตั้ง Claude Code กล่าวตรงๆ: อีก 1 เดือนถ้าไม่ใช้ Plan Mode ตำแหน่งวิศวกรซอฟต์แวร์จะหายไปTechnology

เตือนภัย! ผู้ก่อตั้ง Claude Code กล่าวตรงๆ: อีก 1 เดือนถ้าไม่ใช้ Plan Mode ตำแหน่งวิศวกรซอฟต์แวร์จะหายไป

เตือนภัย! ผู้ก่อตั้ง Claude Code กล่าวตรงๆ: อีก 1 เดือนถ้าไม่ใช้ Plan Mode ตำแหน่งวิศวกรซอฟต์แวร์จะหายไป เมื่อเร็วๆ นี้...

2026年 Top 10 深度学习资源推荐Technology

2026年 Top 10 深度学习资源推荐

2026年 Top 10 深度学习资源推荐 随着深度学习在各个领域的迅速发展,越来越多的学习资源和工具涌现出来。本文将为您推荐2026年最值得关注的十个深度学习资源,帮助您在这一领域中快速成长。 1. Coursera Deep Learn...

2026年 Top 10 AI 代理:核心卖点解析Technology

2026年 Top 10 AI 代理:核心卖点解析

2026年 Top 10 AI 代理:核心卖点解析 引言 随着人工智能的快速发展,AI 代理(AI Agents)已成为技术领域的热点话题。越来越多的开发者和企业开始探索如何利用这些智能代理提升工作效率和业务盈利。但在众多的 AI 代理解决...

2026年 Top 10 AI 工具推荐:释放人工智能的真正潜力Technology

2026年 Top 10 AI 工具推荐:释放人工智能的真正潜力

2026年 Top 10 AI 工具推荐:释放人工智能的真正潜力 ในยุคที่เทคโนโลยีก้าวหน้าอย่างรวดเร็ว ปัญญาประดิษฐ์ (AI) ได้กลายเป็นหัวข้อที่ได้รับความ...

2026年 Top 10 AWS工具和资源推荐Technology

2026年 Top 10 AWS工具和资源推荐

2026年 Top 10 AWS工具和资源推荐 ในสาขาคลาวด์คอมพิวติ้งที่พัฒนาอย่างรวดเร็ว Amazon Web Services (AWS) ยังคงเป็นผู้นำ โดยมีบริการแ...