本文へスキップ

メニュー

© 2025 Monologger

テクノロジーブログ

「【Docker入門 第1回】Dockerとコンテナの基本を理解する」のアイキャッチ画像

【Docker入門 第1回】Dockerとコンテナの基本を理解する

arrow_circle_up
cached

はじめに

この記事はDocker初学者に向けた入門シリーズの第1回です。
まずは「Dockerとは何か」「コンテナとは何か」という基本的な概念を整理します。


Dockerとは

Dockerは、コンテナ仮想化技術を使って、アプリケーションを開発・配置・実行するための隔離された環境を提供するツールです。

ざっくり言えば、「パソコンの中に、もう一つ小さな独立した環境を作れるツール」です。


コンテナとは

コンテナとは、パソコンやサーバ上で隔離され、干渉されない環境のことです。

ポイントをまとめると:

  • コンテナの中には、なんでもソフトウェアを入れることができる
  • コンテナの中には小さなパソコンが動いているようなイメージ
  • コンテナ単体では動かせない。ホストOS(WindowsやMacなど)が必要
  • ホストOS上にDockerがあり、コンテナの作成やホストOSとの仲介を担う

コンテナがあると何がいいのか

コンテナがない場合の問題

コンテナがない環境では、ホストマシンに直接ソフトウェアをインストールします。
この場合、ホストOSや既存のソフトとの干渉が発生する可能性があります。

例えば、あるソフトがPython 3.8を要求しているのに、別のソフトがPython 3.11を要求している…といったバージョン競合が起きがちです。

コンテナがある場合のメリット

メリット

説明

干渉しない

コンテナは完全に独立しているため、ホストOSや他のソフトと干渉しない

バージョン共存

バージョン違いのソフトも干渉せず共存できる

環境の再現性

ホストOSが何であっても、コンテナ内の振る舞いは変わらない

複数共存

一つのホストOS上に複数のコンテナを保持でき、互いに干渉しない

移植が容易

Windowsで動かしていたコンテナをMacOS上に移すことも簡単

ホストOSによる振る舞いの違いは、厳密にはゼロではないようです。ただし基本的には同じ動作が保証されます。


まとめ

  • Dockerはコンテナを作成・管理するツール
  • コンテナはホストOSから隔離された独立環境
  • コンテナを使うことで、環境の干渉回避再現性移植性が手に入る

次回は、コンテナの元になる「イメージ」と、コンテナのライフサイクルについて解説します。


シリーズ一覧
第1回:Dockerとコンテナの基本を理解する ← 今ここ
第2回:イメージとコンテナのライフサイクル
第3回:コンテナ操作の基本コマンド集
第4回:Dockerfileでオリジナルイメージを作る

コメント

ディスカッション

(Giscus)
うまく表示されない場合(クリックして再読み込み)

関連記事