Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Docker

Introduction to Docker

59820ab78fcd471047491c8265a01daf?s=128

Manatsawin Hanmongkolchai

March 08, 2018
Tweet

Transcript

  1. Introduction to Docker

  2. Me • มนัสวิน หาญมงคลชัย • SKE11 • Junior Architect at

    Wongnai • Wongnai is Hiring! https://careers.wongnai.com (Internship/Full time)
  3. Review pls

  4. Today's Agenda • ทําไม Docker ถึงเปนที่นิยม • การติดตั้งโปรแกรมจาก Docker Hub

    • การสราง Docker Image จากโปรแกรมของตัวเอง • การใชงาน Docker Compose
  5. Why Docker?

  6. Web A Why Docker Web B 4 5

  7. Why Docker Host OS VM A VM B 4 5

  8. Why Docker Host OS VM A VM B 4 5

  9. Why Docker VM A 4 Docker Hub hub.docker.com

  10. Why Docker - for application developer • ควบคุม environment ไดเกือบ

    100% • ไมมีโปรแกรม/library ที่ไมเกี่ยวของ/ผิดเวอรชั่นลงอยู • ทําซํ้าได
  11. Running application from Docker Hub

  12. None
  13. Running application from Docker Hub Linux: http://172.17.0.2:2368 Windows/Mac: หา IP

    จากใน Docker for Mac/Windows
  14. Running application from Docker Hub ถาใช Docker บนระบบที่ไมใช Linux ตัว

    Docker จะรันอยูบน VM ที่รัน Linux เวลาจะเขาตองเปด port เสมอ $ docker run -p 80:2368ghost (แปลวาให Port 80 ตรงกับ port 2368 ภายใน Image) เสร็จแลวเขาที่ http://localhost
  15. Making your own image ดาวนโหลดแอพที่ https://github.com/whs/docker-course-2018 ลองรันในเครื่องดู $ npm i

    $ node . ถาทําเสร็จแลว ลองแกะโคดอานดูกอน
  16. Writing Dockerfile ไดเวลาเขียน Dockerfile!

  17. Build & Run $ docker build -t imagename . $

    docker run --init -p 80:3000 imagename
  18. Run with environment ในโคดจะมีการอาน process.env.TEXT เพื่อใหเราสามารถกําหนดตัวแปรขณะรันได $ docker run --init

    -p 80:3000 -e "TEXT=Hello Docker" imagename
  19. Docker Compose ในโปรแกรมจริง ลงแค Node.js อยางเดียวไมพอ อาจจะตองมี MySQL, Redis, ฯลฯ

    เพิ่ม ไปอีกดวย แต Docker ใหรันไดเพียงโปรแกรมเดียว จึงมีโปรแกรม Docker Compose เขามากําหนดการวาง container หลายๆ ตัว
  20. Docker Compose เขียน compose กัน!

  21. Docker Compose $ docker-compose up -d $ docker-compose down

  22. Next step • Docker Compose นั้นนิยมใชกับระบบขนาดเล็กในเครื่องเดียว • สําหรับระบบ server ที่มีเครื่องจํานวนมากจะใช

    Kubernetes ซึ่งจะมีการจัดสรร ทรัพยากรใหดวย • To be continued