1
3

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はLinux仮想マシン上で動いているとはどういうこと?

Last updated at Posted at 2025-03-17

はじめに

これまでDockerを何となく使っていましたが、もう一回1から勉強してみようと思って、参考書を読んでみたら、お!と思うことがあったので書き残しておきました。

これまでのDockerへのイメージ

Docker Desktopをインストールすると、Macのターミナルからdockerコマンドを使えるようになって、コンテナを起動したり、コンテナ内に入ったりすることができます。
Docker Desktop自体は、本来GUIでいろいろ操作するためのソフトですが、インストールしてからGUIの方はほとんど触れたことがなく、コマンドでできるならそれでいいかな〜という感じでCUI操作がメインです。

ターミナルにコマンドを打てばコンテナ関連のことがいじれるので、ターミナルが直接Dockerというものを動かしていると思っていました。
IMG_3346.jpeg
多分これが間違っているというわけではないと思います。

Docker Desktop

Docker Desktopをインストールすると、
スクリーンショット 2025-03-17 14.19.48.png
こんな感じのいろいろが入ってくるとのことでした。

Linux仮想マシン?

いろいろインストールされるのはわかりましたが、その中にLinux仮想マシンがあるということの意味がわかりませんでした。どうして、何のために必要なのか理解できません。

DockerはLinuxベースのコンテナを扱いますが、どうやらLinuxコンテナをサポートするためにLinuxカーネルが必要となるということです。そのためのLinux仮想環境ということですね。Linuxのコンピュータであれば仮想環境は不要です。

ここら辺で、自分が何を勘違いしていて、何がわからなかったのかが解けました。

MacではターミナルでLinuxコマンドを打てるので、勝手に「Mac≒Linux」と思い込んでました。Linuxぽい操作ができるだけで、全然別物ですよね。
だから、Dockerを使いたければ、Linux環境が必要であり、MacやWindowsユーザーには仮想環境を提供している、と。で、LinuxのPCならそれは不要、と。

MacならHyperKit、WindowsならWSL2といった仮想化技術が利用されるということです。

理解した後のDockerへのイメージ

スクリーンショット 2025-03-17 14.45.36.png
ターミナルでDockerコマンドを打つと、CLIクライアントがそのコマンドを解釈します。Docker自体はLinux仮想マシン上で起動し、その上でコンテナをいじっているということですね。

ただし、実際にはユーザーがLinux仮想環境を意識することは不要です。裏側で透明な状態で仮想環境が動いているだけです。

終わりに

どんなソフト(アプリ)もインストールすれば動きます。でもどうやって動いているかを知ると、また違った学びが得られるので面白いですね!

1
3
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
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?