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
ganyariya
July 17, 2020
Technology
0
1.5k
ありがとう競技プログラミングこんにちはDocker
ganyariya
July 17, 2020
Tweet
Share
More Decks by ganyariya
See All by ganyariya
FastAPI+VercelでZennのバッジをお手軽に作る
ganariya
0
820
The Hundred Machine Learning 7.4-7.7
ganariya
0
51
輪講 The hundred ML3.3-3.5
ganariya
0
84
Other Decks in Technology
See All in Technology
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
130
AIチャットボット開発への生成AI活用
ryomrt
0
170
The Rise of LLMOps
asei
7
1.6k
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
480
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
310
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
110
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
SSMRunbook作成の勘所_20241120
koichiotomo
2
150
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
890
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Writing Fast Ruby
sferik
627
61k
Statistics for Hackers
jakevdp
796
220k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
What's new in Ruby 2.0
geeforr
343
31k
Music & Morning Musume
bryan
46
6.2k
Transcript
͋Γ͕ͱ͏ڝٕϓϩάϥϛϯά ͜Μʹͪ%PDLFS HBOBSJZB ganariya ganariya2525 ganariya2525 ganariya’s blog ganariya ganariya
͓͢Δ͜ͱ • 競技プログラミングについて • 競プロerのインターン挑戦 • Docker
3 / N ࣗݾհ • શ෦ HBOBSJZB ஜେֶӃ$4ઐ߈. • ݚڀ
• ܈ೳ • ਓೳ • झຯڝٕϓϩάϥϛϯά • ੨৭ • ྗλΠϓ • 7UVCFSͩͱӎ݄ί͕͖ • ඇπϤπϤ
4 / N ରಡऀ • ڝϓϩΛ͍ͬͯΔଔҎ߱ͷํ ɾɾਫɾ੨
ڝٕϓϩάϥϛϯά
6 / N ڝٕϓϩάϥϛϯάͱʁ • ΞϧΰϦζϜྗɾֶྗ͕ΘΕΔ • ϦΞϧλΠϜͰਓͱॱҐΛڝ͏ • ָ͍͠ʂʂ
出典: Takuya Akiba勉強か?趣味か?⼈⽣か?―プログラミングコンテストとは
7 / N ڝٕϓϩάϥϛϯάͷ৭ • Ϩʔτʹ৭͕ઃఆ͞Ε͍ͯΔ • ྫ͑ϨοτίʔμʔΊͪΌͭΑ ਓ͙Β͍ 出典:
AtCoderの参加回数が多い⼈ほどレーティングが⾼い?
ڝϓϩFSͷΠϯλʔϯઓ
9 / N ڝϓϩFSͷಘҙͳ͜ͱ • ΞϧΰϦζϜɾܭࢉྔ • ΫΤϦͷޮతͳॲཧ • ֶతࢥߟྗ
• ؆ܿͳ࣮ • όά͕ى͜Γਏ͍ɾγϯϓϧͳ࣮ • ܧଓɾઓ͢Δ͜ͱ • ຖिٳͷίϯςετʹग़Δ
10 / N ڝϓϩFSͷۤखͳ͜ͱ Ұൠ • ઃܭྗɾେ͖ͳ࣮ • ڝϓϩجຊγϯάϧϑΝΠϧ •
ϞδϡʔϧԽςετͳͲγεςϜʹ͍ۙͱ͜ΖΛ ͬͨ͜ͱ͕ͳ͍ਓଟ͍ • ΞϓϦ੍࡞ • ʮͬͨ͜ͱ͕ͳ͍ʯʹ͍ۙ ʢग़དྷͳ͍ͱ͍͏Θ͚Ͱଟͳ͍ʣ • Ϟνϕʔγϣϯ • ͳͥಇ͔͘ʁͲ͏ͯ͠ಇ͖͍͔ͨʁ͕Α͘Α͘ߟ͑Δͱ ͙͢ʹग़ͯ͜ͳ͍
11 / N Πϯλʔϯཁ߲ • ଟ͘ͷΠϯλʔϯͰʮڝϓϩҎ֎ͷεΩϧʯ͕ٻΊ ΒΕΔ • "84($& •
(Pݴޠ 8FC։ൃ • %PDLFSLT • 6OJUZFUDʜ • ڝϓϩ ʮ͏ʔʔʔʔʔΜ ൵ ʯ
12 / N ೋྲྀ • ڝϓϩͰʮɾᒵɾԫʯͰ͋Ε͓ͦΒ͘ ΠϯλʔϯڪΕͳ͍͍ͯ͘ͷͰ • ʮ੨ɾਫɾʯͳ͔ͳ͔ڝϓϩຊͰ͍͔͠ ʮ࠾༻࣌ʯऔΓ͍͔ͨ͠Εͳ͍
ظతࢿ ʮΠϯλʔϯʯ͋Δҙຯظ͕͍ؒ • ʮڝϓϩʯʹՃ͑ͯʮ͏Ұͭͷثʯ͕͋Δͱ Πϯλʔϯ༗རʹਐΉ͔͠Εͳ͍
%PDLFS • Docker初⼼者です! (間違っている可能性が⼤きいです!) • 概要をアバウトにお話します! (正確性はないです イメージ)
14 / N %PDLFSJTԿʁ • %PDLFSඇৗʹ͍࣮ܰߦڥͷԾԽٕज़ʂ ࣮ମΛίϯςφ͍ͬͯ͏Αʂ • ίϚϯυҰͭͰ.Z42-Λ༻ҙͨ͠Γ $
ͷ࣮ߦڥΛ༻ҙͰ͖Δ • νʔϜʹʮΞϓϦڥߏஙʯΛΔ࣌ શһڞ௨ͷςΩετϑΝΠϧͰߏஙͰ͖Δʂ ͔ͦ͠ͷ··σϓϩΠͰ͖Δ ʢ࠷ۙͰLTΛͬͯΦʔτεέʔϧͰ͖Δʂʣ
15 / N ༻ޠΠϝʔδ Container Instance Image Class Python Image
16 / N த֓ཁ Python Image apt install python Ubuntuの
/usr/local/bin/python コンテナはUbuntuなどのLinuxをベースとして さらにライブラリを⼊れて構築されている Python Image
17 / N %PDLFS ԾԽ 出典: Qiita【図解】Dockerの全体像を理解する -前編- @etaroid ターミナル
18 / N %PDLFS ԾԽ 出典: Qiita【図解】Dockerの全体像を理解する -前編- @etaroid ホストOS(Linux)とコンテナのベースOSを
共有している(カーネル)よって軽い (⼤まかな話しです)
19 / N %PDLFSGJMF • %PDLFSGJMFʮࣗͷ΄͍͠Πϝʔδʯʢ࣮ߦڥʣ ΛςΩετϑΝΠϧͰॻ͚Δͷ %PDLFSGJMFΛϏϧυ͢Δ͜ͱͰΠϝʔδΛ࡞ΕΔ ʢ͋ͱίϯςφʹ͢Δ͚ͩʣ Dockerfile
PHP+Apache Image RUN
20 / N %PDLFS$PNQPTF • ෳͷίϯςφΛʮZNMϑΝΠϧʯ͔Β Ұؾʹ·ͱΊͯߏஙͰ͖Δ ͜Ε͕ͳ͍ͱʮ.Z42-ͷίϯςφ࡞ͬͯŋŋŋ1)1࡞ͬ ͯŋŋŋ8PSE1SFTT࡞SZʯखͱϛε͕૿͑ͯ͠·͏ Wordpress
docker-compose up docker-compose.yml MySQL
21 / N ·ͱΊ • ΠϯλʔϯͰڝϓϩFS ʮثʯ͕͏Ұͭ͋ΔͱΑΓ༗རʹͳΓͦ͏ʂ ʢݸਓ͕ࠩ͋Γ·͢ʣ • ڝϓϩFS
• όοΫΤϯυपΓ ύϑΥʔϚϯενϡʔχϯά • ήʔϜܥɾΞϓϦܥͷߴԽɾޮԽ • ػցֶशɾਂֶश ʹ͍͍ͯΔ͔ • ΄ͱΜͲͷαʔϏεͰʮHBOBSJZBʯͰ͍ͬͯΔͷͰ Α͔ͬͨΒϑΥϩʔ͍ͯͩ͘͠͞ʙ