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 CLIのソースコードリーディングでDockerをチョット理解した話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
まるすけ
May 24, 2024
290
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Docker CLIのソースコードリーディングでDockerをチョット理解した話
まるすけ
May 24, 2024
More Decks by まるすけ
See All by まるすけ
New Relicを使って PHPの監視、始めてみた
mal0961
1
240
dockerの豆知識を沢山話す
mal0961
3
610
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.5k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
500
Designing Experiences People Love
moore
143
24k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
580
Chasing Engaging Ingredients in Design
codingconduct
0
290
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Leo the Paperboy
mayatellez
8
2.2k
Believing is Seeing
oripsolob
1
200
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
Transcript
まるすけ (@malsuke096) Docker CLIのソースコードリーディング でDockerをチョット理解した話 1 2024/5/25 # kansai.go
自己紹介 - 名前 : まるすけ - X : @malsuke096 -
身分 : 学生 - 趣味 : パソコン - 一言 : Goカンファレンス行くよ ツイッタフォロー欲しいよ 2
目次 1. きっかけ 2. DockerとREST APIの関係がわかった 3. 構造体からオプションを知る 4. Docker
composeをチョット理解 3
きっかけ Docker大好き! でもDockerコマンドって何してるかよくわかってない。 Goの勉強ついでに読んでみよう! 4
目次 1. きっかけ 2. DockerとREST APIの関係がわかった 3. 構造体からオプションを知る 4. Docker
composeをチョット理解 5
コマンドを発見 とりあえずdocker run コマンドらしきものを発見 6
プログラムを深堀り 巡り巡ってContainerCreateという関数に到着 7
更にプログラムを深堀り POST? /container/crreate? REST APIっぽい! 8
更にプログラムを深堀り なるほど!postでどっかにリクエストしてるのか! 9
ググって調べてみた 10 - DockerとクライアントはREST APIで対話している - 実はcurl経由でもDockerの操作はできる ということがわかった
目次 1. きっかけ 2. DockerとREST APIの関係がわかった 3. 構造体からオプションを知る 4. Docker
composeをチョット理解 11
コンテナを起動する際に設定できる要素 コンテナ・ホスト・ネットワーク・プラットフォームなど様々な要素に 対する設定をできる 12
Config 13
HostConfig 14
構造体のフィールドからいろいろ知る 15
目次 1. きっかけ 2. DockerとREST APIの関係がわかった 3. 構造体からオプションを知る 4. Docker
composeをチョット理解 16
docker composeに手を出す 先ほどのは docker コマンドはだいたいわかった! docker compose も気になる! 17 docker
composeが何をしているのか読んでみた
docker composeは何をしている compose.yamlをパース? compose.ymlを見てコンテナをビルド (docker compose build) ネットワークを作成・ネットワークをコンテナにアタッチ (docker network
create xxx; docker network connect xx) コンテナを起動 18 やってることdockerコマンド叩くだけじゃね?
docker composeをチョット理解 docker composeはdockerコマンドのラッパーなだけ やってることはyamlのパースとdockerコマンドの呼び出しあたり (なにか別の存在があるわけではなかった) 19
まとめ Dockerコマンドをチョット理解した 構造体からオプションを知るという方法が良かった。別の場所で も活かせそう。 docker composeはいろんなことやっててすごい Docker cliを実装してみたくなった 20
おしまい 21