0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker理解への道⑤ 〜docker-compose.ymlからDocker Desktopへ〜

0
Posted at

はじめに

ここまでDockerを理解するという目的の下、第4回まで記事を書いてきました。

Docker理解への道① ~Makefile / docker compose編~
Docker理解への道② 〜docker-compose.ymlの徹底的な理解〜
Docker理解への道③ 〜docker-compose.ymlのimageとbuildについて〜
Docker理解への道④ 〜docker-compose.ymlのボリュームとネットワークについて〜


概念的なものを理解するというよりは、コードに書いてあることから、段階的に理解していくという形をとってきました。

今日はもう少し踏み込んで、「実際にdocker-compose.ymlで書かれた内容がどうやってDocker Desktopで可視化できる状態にまでに至るのか」を学習していきます。
そのためにはまず、Docker Destkopへの理解が必要になります。

Docker Desktopの役割

私は当初、Docker DesktopはGUIアプリかと思っていました。間違ってはいないもの、実際には他に2つの側面がありました。それが、

  • 仮想的なLinux環境の構築
  • コマンドの通訳

です。

そもそもなぜこの役割が必要かというと、Dockerの本体であるDockerデーモン(バックグラウンドで常に稼働し、特定のサービスや機能を提供するプログラム)がLinuxでのみ動くものだからです。


まず、1(仮想的なLinux環境の構築)についてですが、Docker Desktopが最初に行うことです。Dockerそのものを動かせるようにするため、このDocker DesktopがPC上に仮想環境を構築して、Dockerデーモンを召喚します。ここで初めて実体として存在するようになります。


そして次に2(コマンドの通訳)です。実際にdocker-compose.ymlなどで定義されたコードをCLIコマンド(例:docker compose up)で実行することで、このDocker Desktopが、Linuxしか理解できないDockerデーモンに翻訳した形で指示を渡します。翻訳された設計書を見たDockerデーモンがその設計書をもとに、各サービス(コンテナ、ボリューム、ネットワーク)を作り出すのです。


そしてDocker Desktop最後の役割が、そうして作り出された各サービスの状況を可視化させることです。GUIアプリとして、作成したものが可視化できて、コードとのつながりを実感できるようになります。


実際にDocker Desktop触ってみると、コンテナやボリュームなど、定義したものを見ることができました。

Docker Desktopについては、以上です。Docker Desktopの基本的な役割と、docker-compose.ymlで定義した内容がどのようにDocker Desktop上で可視化されるのか、お分かりいただけたでしょうか。

まとめ

おさらいすると、Docker Desktopの役割は主に3つで、それが以下のとおりです。

  • 仮想的なLinux環境の構築
  • コマンドの通訳
  • GUIアプリ

そして、そのDocker Desktop上の可視化までの流れは以下のとおりです。

Docker Desktopが仮想環境構築
→Dockerデーモン召喚
→docker-compose.ymlなどで行った設計をコマンド実行
→docker DesktopがDockerデーモンが理解できる形(Linux)に翻訳
→Dockerデーモンが受けとった情報をもとに各サービス生成
→Docker Desktopアプリで生成された各サービスが可視化

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?