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
370
dockerの豆知識を沢山話す
まるすけ
June 19, 2024
Tweet
Share
More Decks by まるすけ
See All by まるすけ
New Relicを使って PHPの監視、始めてみた
mal0961
1
57
Docker CLIのソースコードリーディングでDockerをチョット理解した話
mal0961
2
180
Other Decks in Programming
See All in Programming
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
330
Click-free releases & the making of a CLI app
oheyadam
2
110
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
880
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
110
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
580
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
みんなでプロポーザルを書いてみた
yuriko1211
0
260
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
RailsConf 2023
tenderlove
29
900
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
We Have a Design System, Now What?
morganepeng
50
7.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Designing Experiences People Love
moore
138
23k
Designing for Performance
lara
604
68k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
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