Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
まるすけ (@malsuke096) dockerの豆知識を沢山話す 1 2024/6/19 #kwad #ashibinaa
Slide 2
Slide 2 text
自己紹介 - 名前 : まるすけ - X : @malsuke096 - like : PHP / docker / golang 2
Slide 3
Slide 3 text
おことわり 3 ソースコードリーディングで学んだことが少なかったので急遽変更 「その豆知識、全部知っとったわ」ってなったらごめんね🥲
Slide 4
Slide 4 text
目次 1. docker, docker composeとは 2. docker編 豆知識1~3 3. docker compose編 豆知識4~6 4
Slide 5
Slide 5 text
目次 1. docker composeとは 2. docker編 豆知識1~3 3. docker compose編 豆知識4~6 5
Slide 6
Slide 6 text
豆知識1: docker関連のキャラクター 6
Slide 7
Slide 7 text
豆知識1: docker関連のキャラクター 7 Docker(クジラ), Tux(黒いペンギン), Gopher(青いリス?), Compose(クラーケン) あたりはわかるけど他は?
Slide 8
Slide 8 text
豆知識1: docker関連のキャラクター 8 聞いてみた。
Slide 9
Slide 9 text
豆知識1: docker関連のキャラクター 9 カメ : Docker社で飼ってる亀 左の魚の群れ : docker swarm 貝 : Docker Registry
Slide 10
Slide 10 text
豆知識2: Docker desktopはVM 10
Slide 11
Slide 11 text
豆知識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
Slide 12
Slide 12 text
豆知識3: DockerとClientはREST API通信 12
Slide 13
Slide 13 text
豆知識3: DockerとClientはREST API通信 13 - DockerとクライアントはREST APIで対話している - 実はcurl経由でもDockerの操作はできる
Slide 14
Slide 14 text
目次 1. docker composeとは 2. docker編 豆知識1~3 3. docker compose編 豆知識4~6 14
Slide 15
Slide 15 text
豆知識4:docker-composeとdocker compose 15
Slide 16
Slide 16 text
豆知識4:docker-composeとdocker compose 16 docker-compose は docker compose V1 docker compose は docker compose V2 これらの差分は何?
Slide 17
Slide 17 text
豆知識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
Slide 18
Slide 18 text
豆知識4:docker-composeとdocker compose 18 つまり、docker composeコマンドはdockerコマンドの拡張機能として存在し ている。 docker infoを確認するとPluginsという項目にcomposeが存在している
Slide 19
Slide 19 text
豆知識5: docker composeの謎 19
Slide 20
Slide 20 text
豆知識5: docker composeの謎 20 このようなcompose.yamlを定義してdocker compose up -dをすると
Slide 21
Slide 21 text
豆知識5: docker composeの謎 21 phpコンテナへはphpという名前で、mysqlコンテナへはmysqlという名前で 所謂、DNS解決ができるようになる。 なぜ!?
Slide 22
Slide 22 text
豆知識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
Slide 23
Slide 23 text
豆知識5: docker composeの謎 23 docker inspectコマンドで確認するとAliasesという項目に名前が入ってい る。おそらくこれを見て名前解決できるようになっているのだろう。
Slide 24
Slide 24 text
豆知識5: docker composeの謎 24 お互いを名前で認識できる!
Slide 25
Slide 25 text
豆知識5: docker composeの謎 25 追記 : docker v25以降ではDNSNamesというフィールドが追加された
Slide 26
Slide 26 text
豆知識5: docker composeの謎 26 追記 : docker v25以降ではDNSNamesというフィールドが追加された
Slide 27
Slide 27 text
豆知識6: docker compose up の謎 27
Slide 28
Slide 28 text
豆知識6: docker compose up の謎 28 docker compose up には --no-startというオプションがある
Slide 29
Slide 29 text
豆知識6: docker compose up の謎 29 docker compose up には --no-startというオプションがある なるほど、up = create + start だから startを抜いたバージョンか...
Slide 30
Slide 30 text
豆知識6: docker compose up の謎 30 いや、それただの docker compose create やないかーい
Slide 31
Slide 31 text
おしまい 31