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 / Data Analysis with Docker
Search
Yuki Ishikawa
August 24, 2018
Technology
0
280
データ分析と Docker / Data Analysis with Docker
ちゅらデータ社内 LT
Yuki Ishikawa
August 24, 2018
Tweet
Share
More Decks by Yuki Ishikawa
See All by Yuki Ishikawa
明日業務で役立たない Web 開発 TIPS
hoto17296
0
33
Python をフル活用した工場への AI 導入 & データ活用基盤構築事例
hoto17296
0
1.5k
クソ bot 実装ライブコーディング
hoto17296
0
150
DeepGBM 論文の紹介
hoto17296
0
450
試行錯誤のための Docker 活用術
hoto17296
4
2.5k
Hive 集計テクニック
hoto17296
0
420
DeepCluster 論文の紹介
hoto17296
7
2.3k
最新論文を追う技術 / Technology to follow the latest paper
hoto17296
2
210
Introduction to GPU Programming in Python
hoto17296
0
110
Other Decks in Technology
See All in Technology
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
180
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
650
Handling focus in 2024
tahia910
0
230
Grafana x PagerDuty Better Together
jacopen
1
260
M5と自作基板をくっつけてみた〜M5 Japan Tour 2024 Spring 福冈 (Fukuoka|福岡)〜
keropiyo
0
130
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
620
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
150
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
160
How to do well in consulting–Balkan Ruby 2024
irinanazarova
0
140
M&A戦略を支えるデータマネジメント (MIDAS Tech Study #16 GENDA Komiyama)
kommy339
1
110
EM完全に理解した と思ったけど、 やっぱり何も分からなかった話 / EM Night Fukuoka #1
hirutas
0
280
LangSmith入門―トレース/評価/プロンプト管理などを担うLLMアプリ開発プラットフォーム
os1ma
5
710
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
79
43k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Visualization
eitanlees
137
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
11
1k
Adopting Sorbet at Scale
ufuk
69
8.6k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
In The Pink: A Labor of Love
frogandcode
138
21k
Transcript
σʔλੳͱ Docker 2018.08.24 ͪΎΒσʔλࣾ LT @hoto17296
എܠ • ࣾͷ GPU Ϛγϯ͕ Docker ͱ͍͏Կ͔Ͱ ಈ͍͍ͯΔΒ͍͕͠ͿͬͪΌ͚Α͘Θ͔Βͳ͍ • ΧΤϧͷਓ͕ͨΒŪƄŕŜŖŪƄŕŜŖݴͬͯΔ
Yuki Ishikawa • @hoto17296 • ΧΤϧͷਓͰ͢ • ઌिϕϏʔ࢈·Ε·ͨ͠
࠷ۙ Qiita ʹ ॻ͍ͨهࣄ Docker Docker Docker Docker Docker ͍͍ͩͨ
Docker
ࠓͷςʔϚ ŪƄŕŜŖ͓͡͞Μ͕ڭ͑ΔŪƄŕŜŖ
͢͜ͱ • Docker ֓ཁ • ʮίϯςφʯͱʮΠϝʔδʯ • ࣾ GPU αʔόͲ͏ಈ͍͍ͯΔ͔
͞ͳ͍͜ͱ • Dockerfile ͰͷΠϝʔδͷ࡞Γํ • ίϯςφϨδετϦ • Volume ͱ Network
• Docker Compose • ΦʔέετϨʔγϣϯ
Docker ֓ཁ
Docker ͷಛ (1/2) • ίϯςφܕͷԾԽ • ϗετͱΧʔωϧΛڞ༗ • Linux Ͱ͔͠ಈ͔ͳ͍
(※) • ͍ ※ Windows, macOS ͷ Docker Linux VM ͷ্Ͱಈ͍͍ͯΔ
Docker ͷಛ (2/2) • ϙʔλϒϧ • ϗετϚγϯʹґଘ͠ͳ͍ͷͰͲ͜Ͱಈ͘ • ϩʔΧϧͰ࡞ͬͨΠϝʔδΛͦͷ··ຊ൪ڥʹσϓϩΠ •
؆୯ʹίϯςφΛ࡞ͬͯյͤΔ • ڥߏஙͷίετ͕͔͔Βͳ͍ • (αʔϏε։ൃ) ॊೈͳσϓϩΠϑϩʔ͕ΊΔ • (σʔλੳ) ࣮ݧڥΛ͖ͳ͚ͩ࡞ͬͯյͤΔ
ͱΓ֮͋͑ͣ͑ͯ΄͍͜͠ͱ • ʮΠϝʔδʯͱʮίϯςφʯ • Πϝʔδɿ ࣮ߦͰ͖ΔϑΝΠϧ (ͷΑ͏ͳͷ) • ίϯςφɿ ࣮ߦதͷϓϩηε
(ͷΑ͏ͳͷ) • Docker ʹ͍ͭͯߟ͑Δͱ͖ɺ Πϝʔδͷͳͷ͔ίϯςφͷͳͷ͔ Λҙࣝͨ͠΄͏͕͍͍
Πϝʔδ 1 ίϯςφ run commit Πϝʔδ 2 ʮΠϝʔδ 1ʯ͔Β ίϯςφΛ࡞࣮ͯ͠ߦ͢Δ
ίϯςφʹมߋΛՃ͑Δ (ϞδϡʔϧΛΠϯετʔϧ͢Δ) มߋΛՃ͑ͨίϯςφΛ ʮΠϝʔδ 2ʯͱ͍͏໊લͰอଘ͢Δ ※ ࣮ࡍʹΠϝʔδΛ࡞Δࡍʹ commit Λ࣮ߦ͢Δ͜ͱͳ͘ɺ ɹΘΓʹ Dockerfile Λهड़͢Δͷ͕ͩɺͦΕʹ͍ͭͯࠓճׂѪ
Πϝʔδͷछྨ • ެࣜΠϝʔδ • DockerHub Ͱެ։͞Ε͍ͯΔ • Ubuntu ͱ͔ Ruby
ͱ͔ MySQL ͱ͔ • ඇެࣜΠϝʔδ • ୭͔͕࡞ͬͨΠϝʔδ • DockerHub ͦͷଞͷϨδετϦ • ϓϥΠϕʔτͳΠϝʔδ • ࣗͰϏϧυͨ͠Πϝʔδ
ΠϝʔδมߋࠩͷੵΈॏͶ ubuntu:16.04 php:7 scratch wordpress:4 Ubuntu ΛΠϯετʔϧ PHP ΛΠϯετʔϧ WordPress
ΛΠϯετʔϧ ↑ ΠϝʔδΛ͏ (ίϯςφΛ࡞Δ) ਓϨΠϠΛҙࣝ͢Δඞཁͳ͍ ʮΑ͘Θ͔ΒΜ͚Ͳ WordPress ͕ಈ͘Πϝʔδʯͱͯ͑͠Δ
ίϯςφͷมߋอଘ͞Εͳ͍ • ίϯςφΛফͨ͠Βมߋશ෦ফ͑Δ • มߋΛӬଓԽ͍ͨ͠߹ • commit ͯ͠৽͍͠ΠϝʔδΛ࡞Δ • σʔλΛӬଓԽ͍ͨ͠߹
(ϩάͱ͔DBͱ͔) • ϘϦϡʔϜΛϚϯτ͢Δ
ศརͳࣄྫɿ GitLab (1/2) • (ࣾ GitLab Docker Ͱಈ͍ͯΔ) •
ैདྷͷ GitLab Πϯετʔϧํ๏ • Ruby, Node, Nginx, PostgreSQL, Redis, Sidekiq, GitLab ຊମ ΛΠϯετʔϧ • ͦΕͧΕΛదʹಈ࡞͢ΔΑ͏ʹઃఆ • ͭΒ͍
ศརͳࣄྫɿ GitLab (2/2) • Docker Λͬͨ GitLab Πϯετʔϧํ๏ • GitLab
ެࣜΠϝʔδΛ pull ͯ͘͠Δ • σʔλΛอଘ͢ΔͨΊͷϘϦϡʔϜΛ༻ҙ • ίϯςφΛىಈ͢Δ • ؆୯ !!! • ʮΑ͘Θ͔ΒΜ͚Ͳ GitLab ͕ಈ͘Πϝʔδʯ ͕͑Δ → ϙʔλϏϦςΟ
ࣾ GPU αʔόʹ͍ͭͯ
Docker Ͱ৭ʑಈ͍͍ͯΔ • μογϡϘʔυ (80) • TensorFlow Notebook (18888) •
DataScience Notebook (28888) • PySpark Notebook (38888) • PostgreSQL (5432)
(࠶) ίϯςφͷมߋอଘ͞Εͳ͍ • ίϯςφΛফͨ͠Βมߋશ෦ফ͑Δ • ՃͰϞδϡʔϧΛΠϯετʔϧͯ͠ αʔόΛ࠶ىಈͨ͠Βશ෦ফ͑Δ • ॳظઃఆεΫϦϓτ༻ҙ͍ͯͩ͘͠͞ •
ͨͩ͠ Notebook ফ͑ͳ͍ • ϗετͷϘϦϡʔϜΛϚϯτ͍ͯ͠Δҝ
ͳΜͰͦΜͳ͜ͱ͢Δඞཁ͕ʁ • ʮڥΛ࠶ݱͰ͖ΔʯΑ͏ʹ͢ΔͨΊ • ࢼߦࡨޡͰڥ͙ͪΌ͙ͪΌʹͯ͠ ʮ࠶ݱͰ͖ͳ͍͚Ͳ͜ͷڥͳΒ ɹྑ͍ੳ݁Ռ͕ग़ͤ·͢ʂʯ ͍ͬͯ͏ͷ࠷ѱͰʁ • ʮͲ͏ͬͨΒ͜ͷڥΛ࠶ݱͰ͖Δ͔ʯΛ
ৗʹҙࣝ͠ͳ͕Β࣮ݧ͠·͠ΐ͏
ྫɿ ੳҊ݅ • GPU αʔόͷ Jupyter Ͱੳ͍ͯͨ͠ • ڥΛ࠶ݱ͢ΔεΫϦϓτΛॻ͖ͳ͕Βੳͨ͠ •
Ϟδϡʔϧͷڍಈ͕͓͔͘͠ͳͬͨͱ͖ʹ ʮίϯςφյͯ͠࠷ॳ͔Β࡞Γͯ͠ΈΑ͏ʯ Λ͙͢ʹ࣮ߦͯͤͨ͠ • ೲʹॳظઃఆεΫϦϓτΛೖΕΔ͚ͩͰ ͦΕ͕ڥߏஙखॱॻʹͳͬͨ
·ͱΊ
·ͱΊ • Docker ࣮ݧͷ༑ • ؆୯ʹ࡞ͬͯյͤΔ • ڥͷ࠶ݱੑΛ୲อͰ͖Δ • ͍͜ͳ͍͖ͯ͠·͠ΐ͏
• ڭ͑ΔͷͰͳΜͰ㘤͍ͯʂʂʂ