เปลืองเวลาเป็นวัน ๆ ไปทำไม ? ในเมื่อใช้ Docker ช่วยได้ ! | OLS Community | Technology news, knowledge base & tutorials
OpenLandscape Logo

เปลืองเวลาเป็นวัน ๆ ไปทำไม ? ในเมื่อใช้ Docker ช่วยได้ !

Application
Knowledge Base

เปลืองเวลาเป็นวัน ๆ ไปทำไม ? ในเมื่อใช้ Docker ช่วยได้ !

Docker คือ “Software Container”

Docker คือ อะไร Docker นั้นถือเป็นหนึ่งใน “Software Container” ที่เป็นการสร้าง “สภาพแวดล้อมเฉพาะ” ให้กับซอฟต์แวร์ต่าง ๆ และทำให้ซอฟต์แวร์เหล่านั้น สามารถทำงานได้โดยไม่ไปรบกวนกับ ซอฟต์แวร์ตัวอื่นในระบบปฏิบัติการเดียวกัน  เราสามารถนำ Container ไปติดตั้งบนคอมพิวเตอร์หรือเซิร์ฟเวอร์เครื่องอื่น ๆ ได้เลยทันที โดยที่โปรแกรมในนั้นยังทำงานได้ตามปกติ ไม่ผิดเพี้ยนไปจากเดิม

ยกตัวอย่างง่าย ๆ … เช่น ตอนที่เราเขียนเว็บ ๆ นึงขึ้นมาบนเครื่องของเราเอง เราก็ปรับนู่นปรับนี่ Setting ค่าต่าง ๆ  โหลดนู่นนี่มาติด ปรากฏพอจะเอาของก้อนนั้นไปขึ้น Production บน Server เราก็ต้องโยกเอาก้อนทั้งหมดนั้นไป ต้องไปนั่ง Config ทุกอย่างบน Server ใหม่อีกที แถมบางทีทำไปทำมาเจ๊งค่ะ ของไม่ครบ ของขาด ของมันตีกัน ต้องมานั่งหาว่าติดอะไรไปบ้าง แค่คิดก็รู้สึกเหนื่อยจ้า

 

หยุด ! วงจรชีวิตยาก ๆ ด้วย Docker

ด้วยการใช้ “Docker” เข้ามาช่วยในการแพ็ค Software เหล่านี้ เพื่อให้อยู่ในรูปแบบของ Container หลังจากนั้นเราก็เอา Container ไปรันในเครื่องไหนก็ได้โดย Application ของเรายังทำงานได้ปกติ ไม่ว่าจะเอาไปรันบนเครื่อง Development หรือบน Production Server ก็ตาม


 เสกงาน 1 วัน ให้เหลือแค่ 1 ชั่วโมงด้วย

จริง ๆ บนโลกใบนี้ยังมี Software Container ตั้งหลายเจ้าให้เลือกใช้ แต่ที่ Docker ได้รับความนิยมมากที่สุด นั่นก็เพราะมันใช้งานได้ง่ายด้วย 3 Steps Build, Ship and Run มีประสิทธิภาพสูง แถมยังมี Community ที่ใหญ่มาก ทำให้มี Q&A เยอะแยะมากมายตามมา ติดปัญหาอะไรก็ไม่ต้องลอยเคว้งคว้างกลางทะเลอยู่คนเดียว

(Build) Docker File : คือการที่เราเอา Sourcecode + Config ที่รวบรวมคำสั่งทุกอย่าง ที่ใช้ในการ Run แอป และนำไปสร้างเป็นไฟล์ Docker Image ออกมา
(Ship) Docker Image : คือการนำไฟล์ Docker Image ย้ายไปวางไว้ที่อื่น ที่ต้องการนำแอปไปติดตั้ง
(Run) Docker Container  : การ Run Docker Image เกิดเป็น Container เพื่อให้ได้ Application ที่สามารถเรียกใช้งานได้ทันที (โดยมันจะทำงานได้ปกติ)


 ประโยชน์ที่ได้จากการใช้ Docker

(1) Save Time : สามารถลงโปรแกรมเพื่อใช้งาน ได้ภายในไม่กี่วินาทีเท่านั้น
(2) Save Cost : ประหยัดค่าใช้จ่ายมากขึ้นเพราะใช้ทรัพยากรน้อยลง
(3) Save Data Storage : ประหยัดพื้นที่เก็บ และติดตั้งระบบได้รวดเร็วกว่าการทำ VM ถึง 90%
(4) Easy to Scale : สามารถขยายระบบได้ง่าย เพื่อรองรับจำนวนผู้ใช้งานที่มากขึ้น และยังสามารถดึง Resource ของเครื่องมาใช้ได้เต็มประสิทธิภาพ ซึ่งต่างกับ VM ที่มักจะติดขีดจำกัดของเครื่อง
(5) Environment Managing : ด้วยรูปแบบที่เป็น Image สำเร็จรูป  ทำให้เราสามารถติดตั้งโปรแกรม หรือตั้งค่าระบบ ได้ภายในเวลาไม่กี่วินาที และเพียงแค่ไม่กี่คำสั่งเท่านั้น
(6) Portability : ทำให้ย้ายไประบบ IT infrastructure อื่น ๆ ได้ง่าย  ไม่ต้องเสียเวลา Setup โปรแกรมใหม่ทีละเครื่อง และช่วยลด Error ที่อาจเกิดจาก การนำระบบขึ้น Production
(7) Reduce Time-to-Market : ช่วยลดเวลาการนำแอปพลิเคชันต่าง ๆ เข้าสู่ตลาด
(8) Community Hub : ด้รับการพัฒนาและอัปเดตฟีเจอร์ใหม่เรื่อย ๆ มี Community สำหรับแลกเปลี่ยนข้อมูลต่าง ๆ มากมาย


ใครที่เหมาะกับการใช้ Docker ?

เนื่องจากการใช้ Container Software ไม่ใช่เรื่องที่ยาก หรือไกลตัวอีกต่อไป อีกอย่างคือการนำมันมาใช้นั้น ล้วนมีแต่ข้อดีและเป็นประโยชน์ ดังนั้นจึงไม่ใช่แค่เรื่องของ Developer หรือ System Admin อีกต่อไป แต่องค์กรเองต้องเข้าใจและเห็นความสำคัญของเทคโนโลยีนี้เช่นกัน


เริ่มศึกษายังไงดี ?

การศึกษา Docker นั้น โดยเราสามารถหาได้ทั่วไปตามอินเตอร์เน็ตเลยค่ะ แต่การศึกษาและนำมันมาใช้อย่างถูกต้องและปลอดภัย นั้นก็ค่อนข้างต้องใช้เวลาทำความเข้าใจพอสมควร แต่หากใครยังงง ๆ ว่าการเอา Docker ต่างกับ VM แบบเดิม ๆ ที่เราใช้ยังไง แล้วอยากเริ่มต้นเองง่าย ๆ ยังไง แนะนำให้โหลด E-Book ที่ทาง Docker ได้จัดทำไว้ เอาไปลองอ่านกันได้เลยค่ะ  ที่นี่

โดยเนื้อหาใน E-Book จะประกอบไปด้วย

  • ทำไม Container ถึงไม่ใช่ VM
  • เราสามารถนำ Container และ VM มาใช้ร่วมกันได้อย่างไร
  • การใช้ Container บน Physical Server และ Virtual Machine นั้นแตกต่างกันอย่างไร
  • เริ่มต้นใช้งาน Docker และ Container

Source : [1] [2] [3] [4]

ติดตามข่าวสารใหม่ ๆ หรือข้อมูลน่ารู้อีกมากมายได้ที่

  OpenLandscape Fanpage | https://www.facebook.com/openlandscapecloud/
  OpenLandscape Twitter | https://www.twitter.com/olscloud/
  OpenLandscape Cloud | https://openlandscape.cloud/


Share :


Patcharaporn Auerach

จบการศึกษาจากคณะเทคโนโลยีสารสนเทศ พระจอมเกล้าลาดกระบัง มีความสนใจด้านเทคโนโลยี และมีความเชื่อว่า หากเราสามารถวางตัวเอง ให้ก้าวทันเทคโนโลยีอยู่เสมอจะช่วยให้เราได้พัฒนาทั้งชีวิตของตนเอง ครอบครัว และยังเป็นประโยชน์ต่อสังคมได้

สมัครใช้บริการของเรา

ให้ทุกการพัฒนาของคุณมีประสิทธิภาพมากกว่าที่เคย

Get Started
Related posts