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
370
データ分析と Docker / Data Analysis with Docker
ちゅらデータ社内 LT
Yuki Ishikawa
August 24, 2018
Tweet
Share
More Decks by Yuki Ishikawa
See All by Yuki Ishikawa
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
920
ORM と向き合う
hoto17296
14
11k
明日業務で役立たない Web 開発 TIPS
hoto17296
0
180
クソ bot 実装ライブコーディング
hoto17296
0
220
DeepGBM 論文の紹介
hoto17296
0
580
試行錯誤のための Docker 活用術
hoto17296
4
3k
Hive 集計テクニック
hoto17296
0
500
DeepCluster 論文の紹介
hoto17296
7
2.5k
最新論文を追う技術 / Technology to follow the latest paper
hoto17296
2
270
Other Decks in Technology
See All in Technology
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
130
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
180
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
1
330
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
Obsidian応用活用術
onikun94
1
450
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
460
AWSで始める実践Dagster入門
kitagawaz
1
570
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
DDD集約とサービスコンテキスト境界との関係性
pandayumi
2
280
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
110
ガチな登山用デバイスからこんにちは
halka
1
230
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
150
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
4 Signs Your Business is Dying
shpigford
184
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
We Have a Design System, Now What?
morganepeng
53
7.8k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Producing Creativity
orderedlist
PRO
347
40k
The Invisible Side of Design
smashingmag
301
51k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
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 ࣮ݧͷ༑ • ؆୯ʹ࡞ͬͯյͤΔ • ڥͷ࠶ݱੑΛ୲อͰ͖Δ • ͍͜ͳ͍͖ͯ͠·͠ΐ͏
• ڭ͑ΔͷͰͳΜͰ㘤͍ͯʂʂʂ