Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Docker
Search
Manatsawin Hanmongkolchai
March 08, 2018
Programming
1
170
Introduction to Docker
Manatsawin Hanmongkolchai
March 08, 2018
Tweet
Share
More Decks by Manatsawin Hanmongkolchai
See All by Manatsawin Hanmongkolchai
Nix: Declarative OS
whs
0
23
gRPC load balancing with xDS
whs
0
670
ArgoCD
whs
0
350
Writing Babel Plugin
whs
0
150
What's new in Cloud Next 2019
whs
0
250
A Date with gRPC
whs
1
1.2k
ตีแผ่ Microservice ด้วย Tracing
whs
0
300
Next Generation Smart Home
whs
0
830
Istio and the Service Mesh Architecture
whs
3
970
Other Decks in Programming
See All in Programming
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
140
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
830
Ruby Pattern Matching
bkuhlmann
0
930
Site Reliability Engineering for GMO
pyama86
8
1k
見た目から始める生産性向上
ikumatadokoro
7
830
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
270
try! Swift Tokyo 初参加報告LT
hinakko2
0
220
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
0
890
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
Git Rebase
bkuhlmann
11
1.6k
HUIT新歓2024「競技プログラミング、やってみませんか?」
slephy2784
1
270
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
370
Featured
See All Featured
Bash Introduction
62gerente
604
210k
Designing for Performance
lara
601
67k
Designing the Hi-DPI Web
ddemaree
276
33k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Ruby is Unlike a Banana
tanoku
96
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Infographics Made Easy
chrislema
238
18k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Gamification - CAS2011
davidbonilla
76
4.6k
Testing 201, or: Great Expectations
jmmastey
28
6.3k
Transcript
Introduction to Docker
Me • มนัสวิน หาญมงคลชัย • SKE11 • Junior Architect at
Wongnai • Wongnai is Hiring! https://careers.wongnai.com (Internship/Full time)
Review pls
Today's Agenda • ทําไม Docker ถึงเปนที่นิยม • การติดตั้งโปรแกรมจาก Docker Hub
• การสราง Docker Image จากโปรแกรมของตัวเอง • การใชงาน Docker Compose
Why Docker?
Web A Why Docker Web B 4 5
Why Docker Host OS VM A VM B 4 5
Why Docker Host OS VM A VM B 4 5
Why Docker VM A 4 Docker Hub hub.docker.com
Why Docker - for application developer • ควบคุม environment ไดเกือบ
100% • ไมมีโปรแกรม/library ที่ไมเกี่ยวของ/ผิดเวอรชั่นลงอยู • ทําซํ้าได
Running application from Docker Hub
None
Running application from Docker Hub Linux: http://172.17.0.2:2368 Windows/Mac: หา IP
จากใน Docker for Mac/Windows
Running application from Docker Hub ถาใช Docker บนระบบที่ไมใช Linux ตัว
Docker จะรันอยูบน VM ที่รัน Linux เวลาจะเขาตองเปด port เสมอ $ docker run -p 80:2368ghost (แปลวาให Port 80 ตรงกับ port 2368 ภายใน Image) เสร็จแลวเขาที่ http://localhost
Making your own image ดาวนโหลดแอพที่ https://github.com/whs/docker-course-2018 ลองรันในเครื่องดู $ npm i
$ node . ถาทําเสร็จแลว ลองแกะโคดอานดูกอน
Writing Dockerfile ไดเวลาเขียน Dockerfile!
Build & Run $ docker build -t imagename . $
docker run --init -p 80:3000 imagename
Run with environment ในโคดจะมีการอาน process.env.TEXT เพื่อใหเราสามารถกําหนดตัวแปรขณะรันได $ docker run --init
-p 80:3000 -e "TEXT=Hello Docker" imagename
Docker Compose ในโปรแกรมจริง ลงแค Node.js อยางเดียวไมพอ อาจจะตองมี MySQL, Redis, ฯลฯ
เพิ่ม ไปอีกดวย แต Docker ใหรันไดเพียงโปรแกรมเดียว จึงมีโปรแกรม Docker Compose เขามากําหนดการวาง container หลายๆ ตัว
Docker Compose เขียน compose กัน!
Docker Compose $ docker-compose up -d $ docker-compose down
Next step • Docker Compose นั้นนิยมใชกับระบบขนาดเล็กในเครื่องเดียว • สําหรับระบบ server ที่มีเครื่องจํานวนมากจะใช
Kubernetes ซึ่งจะมีการจัดสรร ทรัพยากรใหดวย • To be continued