Share
Explore

icon picker
Docker

What is docker

Docker คืออะไร
อธิบายความหมายของ Docker และ Containerization
เปรียบเทียบ Docker กับ Virtual Machines (VMs)
ทำไมต้องใช้ Docker? ข้อดีและข้อเสีย
Docker คือแพลตฟอร์มที่ช่วยให้สร้าง ทดสอบ และ deploy แอปพลิเคชันได้อย่างรวดเร็วและง่ายดาย โดยใช้สิ่งที่เรียกว่า Containerization ซึ่งเป็นการแพ็กแอปพลิเคชันและ dependencies ทั้งหมดเข้าด้วยกันในคอนเทนเนอร์เดียว ทำให้แอปพลิเคชันสามารถทำงานได้บนทุกสภาพแวดล้อม (เช่น เครื่องคอมพิวเตอร์, เซิร์ฟเวอร์, คลาวด์) โดยไม่ขึ้นอยู่กับระบบปฏิบัติการ
การติดตั้ง Docker
https://www.docker.com/products/docker-desktop/
Docker element
Image
Docker Image คือแม่แบบสำหรับสร้าง Container โดยภายใน Image จะมีโค้ด, runtime, system tools, system libraries และ settings ต่างๆ ที่จำเป็นในการรันแอปพลิเคชัน
Container
Docker Container คือ instance ที่รันอยู่ของ Image โดยแต่ละ Container จะมีสภาพแวดล้อมที่แยกจากกัน ทำให้แอปพลิเคชันที่อยู่ใน Container ไม่ได้รับผลกระทบจากแอปพลิเคชันอื่นๆ ที่รันอยู่บนเครื่องเดียวกัน
Commands
docker run: ใช้สำหรับรันคอนเทนเนอร์ใหม่
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
รันคอนเทนเนอร์ nginx ในพื้นหลัง (-d) และ map port 8080 บนเครื่อง host ไปยัง port 80 ในคอนเทนเนอร์ (-p)
docker run -d -p 8080:80 nginx
รันคอนเทนเนอร์ ubuntu โดยใช้ image เวอร์ชั่นล่าสุด และเปิด bash shell
docker run ubuntu:latest bash
แสดง Container || d
docker ps
docker images
ล้างทุกอย่าง
docker system prune -a
คำสั่งอื่นๆ
docker start [OPTIONS]
docker restart [OPTIONS]
docker kill [OPTIONS]
docker rm [OPTIONS]
docker rmi [OPTIONS]
docker pull [IMAGE_NAME[:TAG]]
docker build [OPTIONS]PATH|URL|-
DockerFile
ไฟล์ที่ใช้ในการสร้าง Docker Image โดยภายใน Dockerfile จะมีคำสั่งต่างๆ ที่ Docker ใช้ในการสร้าง Image เช่น การ copy ไฟล์, การติดตั้ง packages, การตั้งค่า environment variables
Docker Compose
เครื่องมือที่ใช้ในการจัดการ Container หลายๆ Container พร้อมกัน โดยใช้ไฟล์ YAML ในการกำหนด Container ต่างๆ และ dependencies ของ Container
Docker Networking
การจัดการเครือข่ายของ Container โดย Docker มี network modes หลายแบบให้เลือก เช่น bridge, host, none
Docker Volumes
พื้นที่จัดเก็บข้อมูลที่ Container สามารถเข้าถึงได้ โดยข้อมูลที่อยู่ใน Volume จะไม่ถูกลบเมื่อ Container ถูกลบ
Docker Hub
registry ที่เก็บ Docker Images โดยเราสามารถ push Image ของเราขึ้นไปบน Docker Hub และ pull Image จาก Docker Hub มาใช้งานได้ (อาจต้องสร้าง docker account มาเพื่อเข้าถึง)

Docker Starter pack

*หลังจากนี้จะทำงานได้ก็ต่อเมื่อเปิด docker desktop
ติดตั้งและลองใช้ Ubontu GUI
docker pull dorowu/ubuntu-desktop-lxde-vnc
docker run -d -p 5901:5901 -p 6080:80 --name ubuntu_desktop dorowu/ubuntu-desktop-lxde-vnc
เมื่อ run แล้ว ที่ container

image.png
เปิดเว็บ brownser port :6080
image.png

สร้าง web sever ง่ายๆ บน docker
login.zip
5 kB
แตกไฟล์แล้วทำการ build
docker-compose build
จากนั้น run containner
docker-compose up
เปิดเว็บที่
docker แบบ multi Images
Ctest.zip
5.1 kB
แตกไฟล์แล้วทำการ build
docker-compose build
จากนั้น run containner
docker-compose up
เปิดเว็บที่
package.zip
2.1 MB
แตกไฟล์แล้วทำการ build
docker-compose build
จากนั้น run containner
docker-compose up
เปิดเว็บที่

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.