Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Docker ไงจะใครล่ะ
Search
Manatsawin Hanmongkolchai
August 31, 2016
Programming
190
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Docker ไงจะใครล่ะ
CPE Mini Conference 2016
Manatsawin Hanmongkolchai
August 31, 2016
More Decks by Manatsawin Hanmongkolchai
See All by Manatsawin Hanmongkolchai
Nix: Declarative OS
whs
0
150
gRPC load balancing with xDS
whs
0
1.1k
ArgoCD
whs
0
510
Writing Babel Plugin
whs
0
240
What's new in Cloud Next 2019
whs
0
340
A Date with gRPC
whs
1
1.5k
ตีแผ่ Microservice ด้วย Tracing
whs
0
430
Next Generation Smart Home
whs
0
1k
Istio and the Service Mesh Architecture
whs
3
1.1k
Other Decks in Programming
See All in Programming
R8 の設定見直しでアプリサイズ削減
andpad
0
220
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
600
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
430
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
490
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
410
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Google's AI Overviews - The New Search
badams
0
1.6k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Marketing to machines
jonoalderson
1
5.9k
Rails Girls Zürich Keynote
gr2m
96
14k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
4 Signs Your Business is Dying
shpigford
187
23k
Transcript
Docker ไงจะใครละ
Me • SKE ป 4 • Intern @ Wongnai (วงในก็ใช
Docker นะ!) • whs.in.th •
[email protected]
(เพิ่งเซตเมลใหมดวย Docker ขอเหอหนอย)
Docker คือ…?
App Library Configuration Docker image
Linux Docker Linux VirtualBox App Library Configuration Container App Library
Configuration Container App Linux Configuration Virtual machine Library App Linux Configuration Virtual machine Library * วาดแบบหยาบๆ
Linux Docker Linux VirtualBox App Library Configuration Container App Shared
Library Configuration Container App Linux Configuration Virtual machine Library App Linux Configuration Virtual machine Library * วาดแบบหยาบๆ Library
"จับโปรแกรมใสถัง พลังสูง"
ใช Docker ทําไม ..?
ลงโปรแกรมงาย
None
sudo apt-get install php5-cli php5-mysqlnd php5-fpm nginx beanstalkd supervisor ลง
Web server
curl -sS https://getcomposer.org/instal ler | php sudo mv composer.phar /usr/local/bin/composer
ลง composer
sudo mkdir /var/www/ /var/grader/ sudo chown www-data:www-data /var/www sudo cp
-r assets server templates index.html /var/www/ sudo cp -r vm/graderclient/ /var/grader/ ลง grader web
sudo cp vagrant/nginx.conf /etc/nginx/sites-available/def ault sudo service nginx restart เซต
web server นี่คือกอปไฟลสําเร็จมาแลวดวยนะ ไมไดเซตเอง
ฯลฯ ขี้เกียจทําสไลด
sudo docker-compose up
Dockerfile FROM django:1.9-python3 ADD https://github.com/just-containers/s6-overlay/releases/download/v1.18.1.3/s6-overlay-amd64.tar.gz /tmp/ ADD https://github.com/vishnubob/wait-for-it/raw/master/wait-for-it.sh /usr/bin/ ENTRYPOINT
["/init"] EXPOSE 80 RUN tar xzf /tmp/s6-overlay-amd64.tar.gz -C / && \ rm /tmp/s6-overlay-amd64.tar.gz && chmod +x /usr/bin/wait-for-it.sh RUN apt-get update && apt-get install -y pwgen nginx-light libffi-dev && \ rm -rf /var/lib/apt/lists/* && \ rm /var/www/htdocs/* || true RUN pip3 install gunicorn dj_database_url && \ useradd -d /grader -MN -s /bin/false grader && \ mkdir -p /data/media && chown -R grader /data COPY . /grader RUN cd /grader/docker && tar -c * | tar -C /etc -x && cd /grader && rm -r /grader/docker/ && \ pip3 install -r requirements.txt && \ echo "STATIC_ROOT = '/var/www/htdocs/'" > /grader/grader/local_settings.py && \ python3 manage.py collectstatic -l --no-input
ทําซํ้าได
หมดปญหา runtime ไมตรงกัน ตองใช nginx 1.10 ขึ้นไปนะ PHP 7 ยังไมรองรับ
ตองใช Node 6 Java 6 เกาไป
หมดปญหา runtime ตีกัน
หมดปญหา "It work on my machine" ¯\_(ツ)_/¯
ใชยังไง?
docker.com
ใชไดกับ Linux ชื่อดังทุกเจา
https://blog.whs.in.th/node/2283
Best seller https://blog.whs.in.th/node/2283
Orchestration
None
* Docker Swarm ลงงาย มี WebUI ดวย "Planet scale" by
Google ลงงายกวา พังงายดวย Classic
console.cloud.google.com * เสียเงิน
ขอบคุณครับ XD สไลด → speakerdeck.com/whs