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
240
Docker CLIのソースコードリーディングでDockerをチョット理解した話
まるすけ
May 24, 2024
Tweet
Share
More Decks by まるすけ
See All by まるすけ
New Relicを使って PHPの監視、始めてみた
mal0961
1
180
dockerの豆知識を沢山話す
mal0961
3
550
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
380
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
260
Art, The Web, and Tiny UX
lynnandtonic
304
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
130
Thoughts on Productivity
jonyablonski
73
5k
Mind Mapping
helmedeiros
PRO
0
40
The Curious Case for Waylosing
cassininazir
0
190
Code Reviewing Like a Champion
maltzj
527
40k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
410
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
210
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