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
Docker ไงจะใครล่ะ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Manatsawin Hanmongkolchai
August 31, 2016
Programming
180
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
130
gRPC load balancing with xDS
whs
0
1.1k
ArgoCD
whs
0
480
Writing Babel Plugin
whs
0
230
What's new in Cloud Next 2019
whs
0
330
A Date with gRPC
whs
1
1.5k
ตีแผ่ Microservice ด้วย Tracing
whs
0
410
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
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
350
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
150
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.5k
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.3k
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
440
Inside Stream API
skrb
1
640
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
440
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
1k
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
240
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
3Dシーンの圧縮
fadis
1
650
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
2.4k
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
The Curious Case for Waylosing
cassininazir
1
370
4 Signs Your Business is Dying
shpigford
187
22k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Being A Developer After 40
akosma
91
590k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
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