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の豆知識を沢山話す
Search
まるすけ
June 19, 2024
Programming
3
530
dockerの豆知識を沢山話す
まるすけ
June 19, 2024
Tweet
Share
More Decks by まるすけ
See All by まるすけ
New Relicを使って PHPの監視、始めてみた
mal0961
1
170
Docker CLIのソースコードリーディングでDockerをチョット理解した話
mal0961
2
240
Other Decks in Programming
See All in Programming
Developer Joy - The New Paradigm
hollycummins
1
380
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
190
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
220
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
220
NIKKEI Tech Talk#38
cipepser
0
310
ドメイン駆動設計のエッセンス
masuda220
PRO
14
5.9k
Vue 3.6 時代のリアクティビティ最前線 〜Vapor/alien-signals の実践とパフォーマンス最適化〜
hiranuma
1
170
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
260
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
350
モテるデスク環境
mozumasu
3
1.3k
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
460
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
820
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Fireside Chat
paigeccino
41
3.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
670
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Typedesign – Prime Four
hannesfritz
42
2.8k
Docker and Python
trallard
46
3.6k
The Invisible Side of Design
smashingmag
302
51k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Navigating Team Friction
lara
190
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Transcript
まるすけ (@malsuke096) dockerの豆知識を沢山話す 1 2024/6/19 #kwad #ashibinaa
自己紹介 - 名前 : まるすけ - X : @malsuke096 -
like : PHP / docker / golang 2
おことわり 3 ソースコードリーディングで学んだことが少なかったので急遽変更 「その豆知識、全部知っとったわ」ってなったらごめんね🥲
目次 1. docker, docker composeとは 2. docker編 豆知識1~3 3. docker
compose編 豆知識4~6 4
目次 1. docker composeとは 2. docker編 豆知識1~3 3. docker compose編
豆知識4~6 5
豆知識1: docker関連のキャラクター 6
豆知識1: docker関連のキャラクター 7 Docker(クジラ), Tux(黒いペンギン), Gopher(青いリス?), Compose(クラーケン) あたりはわかるけど他は?
豆知識1: docker関連のキャラクター 8 聞いてみた。
豆知識1: docker関連のキャラクター 9 カメ : Docker社で飼ってる亀 左の魚の群れ : docker swarm
貝 : Docker Registry
豆知識2: Docker desktopはVM 10
豆知識2: Docker desktopはVM 11 コンテナ技術はLinuxの仕組み(CgroupやNamespace)などを利用している。 これらはWindowsやMacにない Windows WSL2またはHyper-V MacOS HyperkitまたはApple
Hypervisor Framework(Apple Siliconのみ) https://towardsdatascience.com/your-first-step-to -use-docker-on-a-non-linux-os-c01d60057401
豆知識3: DockerとClientはREST API通信 12
豆知識3: DockerとClientはREST API通信 13 - DockerとクライアントはREST APIで対話している - 実はcurl経由でもDockerの操作はできる
目次 1. docker composeとは 2. docker編 豆知識1~3 3. docker compose編
豆知識4~6 14
豆知識4:docker-composeとdocker compose 15
豆知識4:docker-composeとdocker compose 16 docker-compose は docker compose V1 docker compose
は docker compose V2 これらの差分は何?
豆知識4:docker-composeとdocker compose 17 docker-composeはそれまで単体のコマンドであった v19.03.0以降でDocker CLI Pluginというシステムが追加された https://zenn.dev/skanehira/articles/2021-06-03-new-docker-compose#docker-cli-plugin%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
豆知識4:docker-composeとdocker compose 18 つまり、docker composeコマンドはdockerコマンドの拡張機能として存在し ている。 docker infoを確認するとPluginsという項目にcomposeが存在している
豆知識5: docker composeの謎 19
豆知識5: docker composeの謎 20 このようなcompose.yamlを定義してdocker compose up -dをすると
豆知識5: docker composeの謎 21 phpコンテナへはphpという名前で、mysqlコンテナへはmysqlという名前で 所謂、DNS解決ができるようになる。 なぜ!?
豆知識5: docker composeの謎 22 答え : docker composeがコンテナを共通のネットワークに所属させ、それら にエイリアスをつけているから。 https://www.google.com/url?sa=i&url=https%3A%2F%2Fknowledge.sakura.ad.jp%2F26522%2F&psig=AOvVaw04S5VXAiwSv4XKuPhFlKn4&u
st=1718860935114000&source=images&cd=vfe&opi=89978449&ved=0CBEQjRxqFwoTCICSjZn25oYDFQAAAAAdAAAAABAO
豆知識5: docker composeの謎 23 docker inspectコマンドで確認するとAliasesという項目に名前が入ってい る。おそらくこれを見て名前解決できるようになっているのだろう。
豆知識5: docker composeの謎 24 お互いを名前で認識できる!
豆知識5: docker composeの謎 25 追記 : docker v25以降ではDNSNamesというフィールドが追加された
豆知識5: docker composeの謎 26 追記 : docker v25以降ではDNSNamesというフィールドが追加された
豆知識6: docker compose up の謎 27
豆知識6: docker compose up の謎 28 docker compose up には
--no-startというオプションがある
豆知識6: docker compose up の謎 29 docker compose up には
--no-startというオプションがある なるほど、up = create + start だから startを抜いたバージョンか...
豆知識6: docker compose up の謎 30 いや、それただの docker compose create
やないかーい
おしまい 31