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
310
データ分析と Docker / Data Analysis with Docker
ちゅらデータ社内 LT
Yuki Ishikawa
August 24, 2018
Tweet
Share
More Decks by Yuki Ishikawa
See All by Yuki Ishikawa
ORM と向き合う
hoto17296
8
7.3k
明日業務で役立たない Web 開発 TIPS
hoto17296
0
110
Python をフル活用した工場への AI 導入 & データ活用基盤構築事例
hoto17296
0
2.5k
クソ bot 実装ライブコーディング
hoto17296
0
180
DeepGBM 論文の紹介
hoto17296
0
500
試行錯誤のための Docker 活用術
hoto17296
4
2.7k
Hive 集計テクニック
hoto17296
0
440
DeepCluster 論文の紹介
hoto17296
7
2.4k
最新論文を追う技術 / Technology to follow the latest paper
hoto17296
2
240
Other Decks in Technology
See All in Technology
2024年にチャレンジしたことを振り返るぞ
mitchan
0
120
MLOps の現場から
asei
5
620
OpsJAWS32 re:Invent 2024 Ops系アップデートまとめ
takahirohori
0
200
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
200
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
260
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
220
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
140
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
100
テーブルが200以上あるSaaSでRSCとGraphQLを併用する理由
msickpaler
2
1.2k
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
21
9.2k
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Side Projects
sachag
452
42k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Speed Design
sergeychernyshev
25
670
Facilitating Awesome Meetings
lara
50
6.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.8k
Designing for humans not robots
tammielis
250
25k
Thoughts on Productivity
jonyablonski
67
4.3k
Typedesign – Prime Four
hannesfritz
40
2.4k
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 ࣮ݧͷ༑ • ؆୯ʹ࡞ͬͯյͤΔ • ڥͷ࠶ݱੑΛ୲อͰ͖Δ • ͍͜ͳ͍͖ͯ͠·͠ΐ͏
• ڭ͑ΔͷͰͳΜͰ㘤͍ͯʂʂʂ