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
260
2
Share
Docker CLIのソースコードリーディングでDockerをチョット理解した話
まるすけ
May 24, 2024
More Decks by まるすけ
See All by まるすけ
New Relicを使って PHPの監視、始めてみた
mal0961
1
200
dockerの豆知識を沢山話す
mal0961
3
580
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Evolving SEO for Evolving Search Engines
ryanjones
0
180
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Invisible Side of Design
smashingmag
302
51k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
870
Bash Introduction
62gerente
615
210k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
190
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Raft: Consensus for Rubyists
vanstee
141
7.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