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.6k
ありがとう競技プログラミングこんにちはDocker
ganyariya
July 17, 2020
Tweet
Share
More Decks by ganyariya
See All by ganyariya
FastAPI+VercelでZennのバッジをお手軽に作る
ganariya
0
850
The Hundred Machine Learning 7.4-7.7
ganariya
0
55
輪講 The hundred ML3.3-3.5
ganariya
0
89
Other Decks in Technology
See All in Technology
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
120
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
E2Eテスト自動化入門
devops_vtj
1
110
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
150
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
400
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
4
6.5k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
4
160
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
5.4k
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
1.1k
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
730
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
1
430
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
Statistics for Hackers
jakevdp
797
220k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Code Reviewing Like a Champion
maltzj
521
39k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
580
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Side Projects
sachag
452
42k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
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ʯͰ͍ͬͯΔͷͰ Α͔ͬͨΒϑΥϩʔ͍ͯͩ͘͠͞ʙ