ศูนย์คอมพิวเตอร์และเครือข่ายโรงเรียนวารินชำราบ

ทิป เทคนิค สำหรับผู้ดูแลระบบ => DOCKER เบื้องต้น => ข้อความที่เริ่มโดย: ผู้ดูแลระบบ ที่ วันที่ 19 เมษายน 2019, เวลา 21:10:27 pm

หัวข้อ: ทำความรู้จัก Docker และ Software Container
เริ่มหัวข้อโดย: ผู้ดูแลระบบ ที่ วันที่ 19 เมษายน 2019, เวลา 21:10:27 pm
(https://cdn-images-1.medium.com/max/800/1*97aPlKQpw6mR5vWRQ5CrBQ.png)Software Container คืออะไร
ก่อนจะพูดถึง Docker มาทำความเข้าใจเรื่อง Software Container กันก่อนครับ Software Container เป็น concept ของการสร้างสภาพแวดล้อมเฉพาะให้ซอฟต์แวร์ทำงานได้โดยไม่กวนกับซอฟต์แวร์ตัวอื่นบนระบบปฏิบัติการเดียวกัน เราสามารถเอา Container ไปรันในคอมพิวเตอร์หรือ Server เครื่องไหนก็ยังทำงานได้เหมือนเดิม โปรแกรมใน Container ยังทำงานได้ปกติไม่ผิดเพี้ยนจากเดิม ที่ผ่านมา Software Container มีการพูดถึงและมีการใช้งานกันมานานแล้ว อาทิ LXC (Linux Container), Solaris Containers, OpenVZ เป็นต้น แต่ไม่เป็นที่แพร่หลายมากนัก เนื่องจากมีการใช้งานค่อนข้างยุ่งยาก ปัจจุบันจึงได้เกิด Engine ที่ชื่อว่า Docker เป็นตัวจัดการ Container ที่ใช้งานได้ง่ายกว่าตัวอื่นๆทำให้ได้รับความนิยมในวงกว้าง และกำลังเข้ามามีบทบาทในกลุ่ม Developer และ DevOps หรือ System Admin มากขึ้นเรื่อยๆ
ความแตกต่างระหว่าง Virtual Machine กับ Container(https://cdn-images-1.medium.com/max/800/1*um2Ss-4DfJ7VdvR65e3wkQ.jpeg)Docker คืออะไร
Docker ก็เป็น Software Container ที่ถูกพัฒนาขึ้นมาให้สามารถการจัดการ Container ได้ง่าย Image มีขนาดเล็ก แยกเป็นชั้นๆ สร้างแนวคิด build, ship, run ที่แต่ละรอบของการสร้าง Container เร็วขึ้นมาก ทำให้เป็นที่สนใจและกำลังแพร่หลายในกลุ่ม Developer และ System Admin
Docker มีชุดซอฟต์แวร์ให้ใช้งานดังนี้ทำไมจึงควรใช้ Docker
1. กว่าจะติดตั้ง Software ในเครื่อง Server เพื่อรัน Applicaion ก็เสียเวลาไปกับการติดตั้งและ Configulation กันเป็นชั่วโมงแล้วหรือบางคนอาจจะเสียเวลาเป็นวันๆ
2. เครื่อง Development กับ Production ไม่เหมือนกัน เครื่อง Development ลงโปรแกรมไว้เวอร์ชันนึง แต่บนเครื่อง Production ลงไว้อีกเวอร์ชันนึง บางทีเขียน Code บนเครื่อง Development แล้วสามารถรันได้ปกติ แต่เมื่อเอา Code ขึ้น Production อาจจะทำให้ Code เกิด error หรือไม่สามารถทำงานได้
ปัญหาดังกล่าวจะไม่เกิดขึ้นถ้าเราใช้ Docker เพราะ Docker จะช่วยแพ็ค application เหล่านี้อยู่ในรูปแบบของ Container ซึ่งเราสามารถเอา Container ไปรันในเครื่องไหนก็ได้โดย Application ของเรายังทำงานได้ปกติไม่ผิดเพี้ยนจากเดิม ไม่ว่าจะไปรันในเครื่อง Development หรือบน Production Server(https://cdn-images-1.medium.com/max/800/1*qflwrydBkx5DSFUUxRuy-w.png)องค์ประกอบต่างๆของ Dockerส่วนใครที่กำลังจะศึกษาการใช้งาน Docker ก่อนเริ่มใช้งาน ควรจะศึกษาพื้นฐานการใช้งานและการติดตั้ง Software บน Linux มาก่อน คือต้องลองทำจริงติดตั้งเอง Config เองใน Linux ก่อนที่จะย้ายมาใช้ Docker ซึ่ง Docker ก็ทำงานอยู่ภายใต้ Linux เช่นเดียวกัน ถ้าหากเข้าใจพื้นฐาน Linux ดีแล้ว มาลองใช้งาน Docker กันครับ จากที่คุณเคยติดตั้งเป็นชั่วโมงหรือติดตั้งเป็นวันมันจะลดเหลือเพียงไม่กี่นาทีเท่านั้น และทำให้ Developer และ System Admin ทำงานได้ง่ายขึ้นกว่าเดิมมาก
ถ้าหากพร้อมที่จะใช้งาน Docker กันแล้ว มาลองใช้คำสั่งพื้นฐานของ Docker ในบทความนี้กันต่อเลยครับ
cr: https://medium.com/thothzocial-engineering/