Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สรุปการแบ่งปันในงาน Docker Bangkok Meetup #1

$
0
0

Screen Shot 2559-01-15 at 9.53.52 AM

Screen Shot 2559-01-15 at 9.53.52 AM เมื่อวานมีโอกาสได้ไปแบ่งปันความรู้พื้นฐานเรื่อง Docker ในงาน Docker Bangkok Meetup ซึ่งจัดเป็นครั้งแรกที่ Kaidee Ofiice จึงทำการสรุปเรื่องที่แบ่งปันดังนี้ โดยจะเป็นเรื่องของการใช้งาน Docker ในมุมมองของ Developer ทั้งการทำความเข้าใจเกี่ยวกับ Container และ Docker เนื่องจากผู้เริ่มต้นมักเข้าใจว่า Docker == Container แต่สิ่งที่ถูกต้องคือ Docker มันเป็นตัวจัดการ container ซึ่งมีการจัดการหลัก ๆ เช่น

การจัดการ image

การสร้าง image เพื่อนำมา run หรือสร้าง container ต่อไป โดย image เทียบง่าย ๆ ในโลกของการเขียนโปรแกรมคือ Class ส่วน container นั่นคือ instance ของ Class ดังนั้นจาก image แต่ละตัว เราสามารถสร้างได้หลาย container นั่นเอง โดย image ต่าง ๆ จะถูกเก็บไว้ที่ DockerHub

การจัดการ application ด้วย Docker compose

โดยปกติการจัดการจะอ่านค่าจาก Dockerfile ใช้สำหรับการกำหนด environment พื้นฐานของระบบ เช่น Operating System, ภาษาโปรแกรม และ library ต่างๆ และจะมีไฟล์ .yml สำหรับกำหนด service ต่าง ๆ ของ application หรือ ทำการกำหนดโครงสร้างการทำงานของระบบนั่นเอง เช่น
  • Frontend
  • Backend
  • Database
  • Caching
  • Proxy
ซึ่งทำให้การใช้งาน Docker ง่าย และ สะดวกมากยิ่งขึ้น

การ provisioning เครื่องที่จะใช้ Docker จัดการด้วย Docker machine

มันคือ การสร้างเครื่อง หรือ สร้างโลกของ Docker นั่นเอง ถ้าเราไม่สร้าง จะไม่สามารถจัดการ container ผ่าน docker ได้ โดยเราสามารถกำหนดชื่อ และ ปลายทางของเครื่องได้ หรือเรียกว่า Driver เช่น
  • Generic
  • Virtual Box
  • Amazon Web Service
ดูข้อมูลเพิ่มเติมได้ที่ Docker Machine Driver แต่ก่อนที่จะเริ่มต้นทำอะไรกับ Docker อย่าลืมติดตั้ง Docker Toolbox นะ

ปัญหาที่ Developer มักเจอคือ Docker มันยาก มันซับซ้อน

ดังนั้นอย่าไปสนใจมันเลย ให้พวกที่ดูแล infrastructure ทำไปเถอะ !! แต่ในมุมมองผมคิดว่า developer น่าจะลองศึกษาอะไรใหม่ ๆ เช่น Docker เพื่อลองนำไปใช้งาน เพื่อลองนำไปแก้ไขปัญหาที่มักพบเจอ เพื่อทำให้รู้ว่ามันเข้ามาช่วย หรือ ซ้ำเติมปัญหาของเรา เช่น
  • เรื่องของการติดตั้ง software และ library ต่าง ๆ บนเครื่อง
  • เรื่องของการจัดการ dependency ของ library ต่าง ๆ
  • เรื่องการจัดการ version
  • เรื่องของการจัดการ environment ทั้ง dev, test และ production

แต่ก่อนอื่นต้องมีความรู้พื้นฐาน

แต่ก่อนอื่นต้องเข้าใจการทำงานของ Docker แต่ก่อนอื่นต้องลองผิดลองถูกจนเข้าใจ และที่สำคัญต้องเข้าใจปัญหาของตัวเองด้วย ก่อนจะนำเครื่องมือใด ๆ มาแก้ไขนะครับ สุดท้ายนี้ ขอขอบคุณพื้นที่ในการแบ่งปัน เจอกันครั้งต่อไปครับ ข้อมูลต่าง ๆ ของการแบ่งปัน Source code ตัวอย่างอยู่ที่ Github.com::Docker 101 Slide :: Docker 101 [slideshare id=57049624&doc=docker-meetup-101-160114113729&w=600&h=480]

Viewing all articles
Browse latest Browse all 1997

Trending Articles