Dockerの仕組み

Dockerを「輸送コンテナ」に例えると、イメージしやすくなります。PCの中に「自分専用の魔法の箱」を作る技術と言えます。

3つのポイントで解説します。


1. Dockerの仕組み(どこで動いているのか)

通常、アプリを動かすにはOS(WindowsやMac)に直接ソフトを入れますが、Dockerは「コンテナ」という独立した小さな部屋を作ります。

  • どこで動いている?: 物理マシン(あなたのPCやサーバー)のOSの上で動く「Docker Engine」というプラットフォーム上で動いています。
  • 特徴: OSを丸ごと用意する「仮想マシン」と違い、OSの核(カーネル)を共有するため、爆速で起動し、メモリもあまり食いません。

2. 構築作業と「構築後の場所」

Dockerの構築は、料理のレシピと完成品の関係に似ています。

ステップ名称内容
① 書くDockerfileコンテナの「設計図(レシピ)」を書く作業。
② 作るImage (イメージ)レシピを元に、実行可能な「パッケージ」に固める作業。
③ 動かすContainer (コンテナ)イメージを起動させた「実体」。これがアプリが動く場所。

構築後の場所(どこにあるのか)

  • イメージの保管場所: ローカルの特定フォルダ(通常、直接触ることはない隠し領域)に保存されます。
  • コンテナの場所: Dockerの管理システムの中に存在します。OSのフォルダを探しても、普通のファイルとしては見つかりません。
    • 確認コマンド:docker ps(起動中コンテナ一覧)や docker images

3. 起動中の設定ファイルを修正するには?

「起動中のコンテナ内のファイルを書き換えたい」というケースですね。主に3つの方法がありますが、おすすめは3番目です。

方法A:コンテナの中に入って直接直す

コマンドでコンテナの「中」に入り、Linuxのように操作します。

Bash

docker exec -it コンテナ名 /bin/bash
  • 注意: コンテナを消すと、ここでの修正も消えてしまいます(使い捨てのため)。

方法B:外からファイルをコピーする

PC上のファイルをコンテナに上書きします。

Bash

docker cp 修正したファイル名 コンテナ名:/パス/ファイル名

方法C:マウント(同期)させる(★推奨)

構築時にPCのフォルダとコンテナ内のフォルダを「同期(ボリュームマウント)」させておきます。

  • こうすると、PC側のファイルをVS Codeなどで保存するだけで、即座に起動中のコンテナにも反映されます。

まとめ

  1. 仕組み: OSの上に「コンテナ(箱)」を載せて動かす。
  2. 場所: 構築したイメージはDockerの管理領域にあり、コンテナとして実体化する。
  3. 修正: docker execで中に入るか、事前にPCのフォルダと「同期」させておくのが一般的。