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
340
データ分析と 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
690
ORM と向き合う
hoto17296
8
8k
明日業務で役立たない Web 開発 TIPS
hoto17296
0
150
クソ bot 実装ライブコーディング
hoto17296
0
200
DeepGBM 論文の紹介
hoto17296
0
540
試行錯誤のための Docker 活用術
hoto17296
4
2.9k
Hive 集計テクニック
hoto17296
0
470
DeepCluster 論文の紹介
hoto17296
7
2.5k
最新論文を追う技術 / Technology to follow the latest paper
hoto17296
2
250
Other Decks in Technology
See All in Technology
Writing Ruby Scripts with TypeProf
mame
0
360
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
3
500
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
1
620
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
230
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
130
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
210
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
1
200
AIと共に乗り越える、 入社後2ヶ月の苦労と学習の軌跡
sai_kaneko
0
110
Рекомендации с нуля: как мы в Lamoda превратили главную страницу в ключевую точку входа для персонализированного шоппинга. Данил Комаров, Data Scientist, Lamoda Tech
lamodatech
0
790
Dynamic Reteaming And Self Organization
miholovesq
3
640
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
1
470
「経験の点」の位置を意識したキャリア形成 / Career development with an awareness of the “point of experience” position
pauli
4
110
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
104
19k
KATA
mclloyd
29
14k
A better future with KSS
kneath
239
17k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
Agile that works and the tools we love
rasmusluckow
328
21k
Side Projects
sachag
453
42k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Optimizing for Happiness
mojombo
377
70k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Designing Experiences People Love
moore
141
24k
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 ࣮ݧͷ༑ • ؆୯ʹ࡞ͬͯյͤΔ • ڥͷ࠶ݱੑΛ୲อͰ͖Δ • ͍͜ͳ͍͖ͯ͠·͠ΐ͏
• ڭ͑ΔͷͰͳΜͰ㘤͍ͯʂʂʂ