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
260
2
Share
Docker CLIのソースコードリーディングでDockerをチョット理解した話
まるすけ
May 24, 2024
More Decks by まるすけ
See All by まるすけ
New Relicを使って PHPの監視、始めてみた
mal0961
1
210
dockerの豆知識を沢山話す
mal0961
3
580
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
290
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Spectacular Lies of Maps
axbom
PRO
1
730
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
500
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
280
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
130
Ethics towards AI in product and experience design
skipperchong
2
270
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
200
Into the Great Unknown - MozCon
thekraken
41
2.4k
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