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
380
dockerの豆知識を沢山話す
まるすけ
June 19, 2024
Tweet
Share
More Decks by まるすけ
See All by まるすけ
New Relicを使って PHPの監視、始めてみた
mal0961
1
98
Docker CLIのソースコードリーディングでDockerをチョット理解した話
mal0961
2
180
Other Decks in Programming
See All in Programming
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
770
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
270
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
ドメインイベント増えすぎ問題
h0r15h0
2
310
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
Jakarta EE meets AI
ivargrimstad
0
250
Spatial Rendering for Apple Vision Pro
warrenm
0
110
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
480
Beyond ORM
77web
6
780
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Producing Creativity
orderedlist
PRO
341
39k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
What's in a price? How to price your products and services
michaelherold
243
12k
The Invisible Side of Design
smashingmag
298
50k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Building Your Own Lightsaber
phodgson
103
6.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
98
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