ทำไมต้องใช้ docker ทำ webserver
#Lemon8ฮาวทู #webserver #พื้นฐานการเขียนเว็ปไซต์ #docker
Docker คือเครื่องมือที่ช่วยให้เรา "แพ็ก" ซอฟต์แวร์ไปวางไว้ในกล่องที่เรียกว่า Container ครับเพื่อให้แอปพลิเคชันของเราทำงานได้เหมือนกันเป๊ะในทุกที่ ไม่ว่าจะเป็นบนเครื่องโน้ตบุ๊กของคุณ เครื่องเพื่อน หรือบนเซิร์ฟเวอร์จริง โดยไม่ต้องกังวลว่า "เครื่องฉันรันได้ แต่เครื่องเธอรันไม่ได้" เพราะปัญหาเรื่องเวอร์ชันของ Windows, Mac หรือ Library ไม่ตรงกันครับ1. แนวคิดหลักของ Docker: Container vs Virtual Machineสมัยก่อนถ้าเราอยากจำลองสภาพแวดล้อม เราต้องใช้ Virtual Machine (VM) ซึ่งกินทรัพยากรเครื่องสูงมาก เพราะต้องรันระบบปฏิบัติการ (OS) ใหม่ทั้งหมดในทุกๆ ตัว แต่ Docker เปลี่ยนมาใช้การแชร์ทรัพยากรจาก OS หลักแทน ทำให้เบาและเร็วกว่ามากครับคุณสมบัติVirtual Machine (VM)Docker Containerความเร็วบูตช้า (เป็นนาที)บูตเร็วมาก (เป็นวินาที)การใช้ทรัพยากรกิน RAM และ CPU สูงประหยัดทรัพยากรมากขนาดใหญ่ (หลาย GB)เล็ก (หลัก MB)2. ศัพท์เทคนิคที่ต้องรู้ (แบบไม่งง)เพื่อให้คุยกับชาว Dev รู้เรื่อง มี 3 คำที่คุณจะได้ยินบ่อยๆ ครับ:Docker Image: เปรียบเสมือน "พิมพ์เขียว" หรือแผ่นซีดีติดตั้งโปรแกรม ที่รวมเอา Code, Runtime, และการตั้งค่าต่างๆ ไว้ครบถ้วนDocker Container: คือตัว Image ที่ถูกนำมา "รัน" จริงๆ (ถ้า Image คือพิมพ์เขียวบ้าน Container ก็คือตัวบ้านที่สร้างเสร็จแล้วนั่นเอง)Docker Hub: เป็นเหมือน App Store หรือ GitHub สำหรับเก็บ Image ให้เราไปโหลดมาใช้งานได้ฟรีๆ เช่น Image ของ MySQL, Python หรือ Nginx3. ทำไมใครๆ ก็ใช้ Docker?Consistency: มั่นใจได้ว่า Environment เหมือนกันทุกที่Isolation: แต่ละ Container แยกออกจากกันชัดเจน ถ้าตัวหนึ่งพัง ตัวอื่นก็ยังทำงานได้Scalability: ขยายระบบได้ง่ายมาก อยากเพิ่ม Web Server อีก 10 ตัวก็สั่งแค่คำสั่งเดียวCI/CD Friendly: เหมาะกับการทำงานแบบอัตโนมัติในยุคปัจจุบันสรุปสั้นๆ: Docker คือการทำ "ตู้คอนเทนเนอร์สำหรับซอฟต์แวร์" ที่ทำให้ชีวิตโปรแกรมเมอร์ง่ายขึ้น เพราะไม่ต้องมานั่งแก้ปัญหาเรื่องการติดตั้งสภาพแวดล้อมซ้ำซากครับ









🥰❤️❤️❤️❤️