Jaedsada Chaisorn
2 min readFeb 14, 2019

ประสบการณ์การใช้ Docker ( part 1 )

ก่อนอื่นต้องบอกว่าผมทำงานด้านการพัตนาระบบหรือเขียนเว็บไซด์ ด้วยภาษาต่างๆอยู่ แรกๆ ผมก็อาศัยการ โปรแกรมจำลอง web server ต่างๆ ที่มีใช้อยู่ทั่วไป ไม่ว่าจะ เป็น Xampp , Wamp , Mamp

ขั้นตอนการ เขียนโค้ดของผมก่อนหน้านี้จะเป็นดังนี้

Dev

  • ติดตั้ง โปรแกรมจำลอง web server ที่กล่าวไป
  • นำโค้ดไว้ใน htdoc
  • ดาต้าเบส ในกรณีนี้ส่วนใหญ่จะมากับโปรแกรมอยู่แล้ว

Production ( Ubuntu Server )

  • ติดตั้ง Apache , Nginx , …
  • ติดตั้ง Database
  • นำโค้ดเข้าโดย git
  • ทั้งหมดเป็น ในคำสั่ง linux ทั้งหมด

แค่นี้อะนะ แล้วมันยากตรงไหน ?

- ครับ เท่านี้แหละ

แล้วทำไมต้องใช้ Docker ละ ?

สมมุติว่า ตอนนี้ผมกำลังทำ โปรเจคหนึ่งเป็นเว็บโดยใช้ PHP 7.3 แต่ว่าอยู่ๆ มีงานเข้ามาอีกตัวนึง และ โปรเจคที่แทรกเข้ามา ดันใช้ PHP 5.4 จะเกิดอะไรขึ้นละ

- ครับ!! งานเข้าสิครับ

สิ่งที่ผมต้องทำคือผมต้องลบ PHP 7.3เพื่อที่ผมต้องไป ทำงานตัวที่แทรกมานี้เมื่อทำเสร็จ ก็ต้องกลับมาลง PHP 7.3 เพื่อที่กลับมาทำงานเดิมต่ออีก ถ้ายังคิดว่ายังไม่เท่าไร ลองนึกภาพว่า ผมกำลังทำ Database ที่ใช้เป็นละ version กันอีกละทำไงดี

อ่าหหห์ หรือจะไปใช้ VMWare ดีละ ( พบทางสว่างแล้วววว )

แล้วถ้าวันนึงมันมีงานแบบนี้เข้ามาอีกละทำไงดี สร้าง Vm ไปเรื่อยๆงี้หรอ ความจุของคอมเรา ram เรา ก็ไม่ได้เยอะขนาดนั้นนิ

ครับ !!! สั้นๆ บรรเทิงสิครับ

เพราะงี้แหละฮะ ผมถึงไปเจอ และได้รู้จักสิ่งที่เรียกว่าาาาาาาา

Docker !!!!!!!!!

Docker คืออะไร

Docker คือ engine ตัวหนึ่งที่มีการทำงานในลักษณะจำลองสภาพแวดล้อมขึ้นมาบนเครื่อง server เพื่อใช้ในการ run service ที่ต้องการ มีการทำงานคล้ายคลึงกับ Virtual Machine

เอ้า ! แล้วมันต่างจาก พวก VMWARE หรือ VirtualBox ยังไงอะ

Virtual Machine ที่รู้จักกันก่อนหน้านี้นั้น เป็นการจำลองทั้ง OS เพื่อใช้งานและหากต้องการใช้งาน service ใดๆ จึงทำการติดตั้งเพิ่มเติมบน OS นั้นๆ แต่สำหรับ docker แล้วจะใช้ container ในการจำลองสภาพแวดล้อมขึ้นมา เพื่อใช้งานสำหรับ 1 service ที่ต้องการใช้งานเท่านั้น โดยไม่ต้องมีส่วนของ OS เข้าไปเกี่ยวข้องเหมือน Virtual Machines อื่นๆ ตัวอย่างดังรูป

นั้นละฮะ ผมก็ไม่เข้าใจมันหรอก 5555

- หยอก ๆ ถถถถ

สรุป Part แรกก่อนนะ ว่าทำไมถึงมาใช้ Docker

จากปัญหาที่ผมกล่าวไป เอ่อออ~ สรุปไงดีอะ ยังงี้ละกัน

การใช้ Docker ที่ผ่านมา ผมคิดว่า เป็น Tool ที่น่าสนใจและควรจะใช้ในการพัฒนาระบบหรือเว็บไซด์ของเรา เพื่อความสะดวกสบายของเรา และทีมของเรา ช่วงแรกอาจจะยากหน่อยในการคิดและวางแผนในขั้นตอน Dev มากขึ้น แต่เชื่อเถอะครับ

ทีเดียวจบ !! เราไม่จำเป็นต้องไป Config : web server หรือ database ต่างๆ ตอน นำโค้ด สู่ Server อีก

อาจจะงงๆ แต่ก็งงๆนะ ไว้มาเขียน part การใช้อีกที 55555

cd : https://www.hostpacific.com/using-docker-on-centos7/

Jaedsada Chaisorn

ปืน Web Dev พูดไม่ค่อยรู้เรื่องเท่าไร เขียนก็ไม่ได้เลยเช่นกัน