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
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
140
gRPC load balancing with xDS
whs
0
1.1k
ArgoCD
whs
0
500
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
420
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
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
ALB ログから Trace を気合で繋げる技術
fohte
7
870
What We Talk About When We Talk About XP
m_seki
2
360
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
140
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
220
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
2
330
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
高専キャリア LT 発表内容
crysta1221
6
5.5k
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
470
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
1.5k
初めての模倣学習とVLA
natsutan
0
480
デプロイ直後のレイテンシスパイクを調べたら、 Railsの仕様にたどり着いた
nhsykym
0
110
Featured
See All Featured
Accessibility Awareness
sabderemane
1
200
Bash Introduction
62gerente
615
220k
Are puppies a ranking factor?
jonoalderson
2
3.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
510
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Facilitating Awesome Meetings
lara
57
7.1k
BBQ
matthewcrist
89
10k
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
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