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
まるすけ
May 24, 2024
2
230
Docker CLIのソースコードリーディングでDockerをチョット理解した話
まるすけ
May 24, 2024
Tweet
Share
More Decks by まるすけ
See All by まるすけ
New Relicを使って PHPの監視、始めてみた
mal0961
1
160
dockerの豆知識を沢山話す
mal0961
3
520
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Balancing Empowerment & Direction
lara
4
680
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Writing Fast Ruby
sferik
629
62k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Why Our Code Smells
bkeepers
PRO
339
57k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
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