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などで保存するだけで、即座に起動中のコンテナにも反映されます。
まとめ
- 仕組み: OSの上に「コンテナ(箱)」を載せて動かす。
- 場所: 構築したイメージはDockerの管理領域にあり、コンテナとして実体化する。
- 修正:
docker execで中に入るか、事前にPCのフォルダと「同期」させておくのが一般的。