技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

Dockerのコンテナ内の「OS」について

Dockerのコンテナは「アプリケーションの動作環境を提供する」という説明を良く見かける。この「動作環境」について、コンテナ内にはOSの機能の一部があるのか、それとも、仮想マシンのゲストOSのように、コンテナ内には普通のOS(全体)が再現されているのか、ちゃんと理解できずモヤモヤした状態だった。

 

そこで、ネットでいろいろ調べたところ、

なぜDockerではホストOSと違うOSベースのコンテナイメージが動くのか - Qiita

の記事を読んで、だいぶ理解が進んだ。

# 素晴らしい記事をありがとうございました m(_ _)m

 

ざっくり纏めると、コンテナは、OSのカーネル部分は独自で持たずホストOSのものを利用し、ファイルシステムとライブラリは独自のものを持つ、ということ。なので、最初の疑問点に戻ると、Dockerでは「コンテナ内にはOSの機能の一部がある」ということになると思っている。