用語集 最終更新 2026.09.21

Docker

Dockerは、アプリを実行する環境を作成・配布・起動するためのプラットフォームです。たとえばPHPの版と必要な拡張をアプリごとにそろえれば、PCへ直接入れたPHPを切り替えずに複数の開発環境を扱えます。ただし、接続先や秘密情報、DBの実データまで自動でそろうわけではありません。

イメージとコンテナを区別する

名前 役割 変更したときの扱い
Dockerfile イメージを作る手順 ファイルを直しただけでは稼働中の環境は変わらない
イメージ 実行環境のひな型 ビルドして作り、そこからコンテナを作る
コンテナ イメージに設定・書込み領域を組み合わせた実行単位 停止・再起動・削除を個別に行える

コンテナ内でファイルを書き換えても、元のイメージは変わりません。新しいイメージへ更新するときは、必要なデータを別に保存したうえでコンテナを再作成します。開発ではソースをホストから接続する構成もあるため、「変更が反映されない」ときは、イメージに含めたファイルなのか、外から接続したファイルなのかを確認します。

仮想マシンとは何が違うか

仮想マシンはゲストOSのカーネルを持ち、Linuxコンテナは実行先のLinuxカーネルを共有します。WindowsやmacOSのDocker DesktopでLinuxコンテナを動かす場合は、Linuxの実行環境を間に置きます。コンテナごとにOS全体を起動しなくてよい一方、CPUの種類やカーネル機能の違いまでなくなるわけではありません。

起動時間や容量はアプリと構成に依存します。「必ず秒未満」「必ず数十MB」とは言えません。OSそのものの検証にはVM、アプリの依存をそろえる用途にはコンテナ、という目的から比較します。

停止と削除でデータの残り方が違う

通常の停止では、コンテナの書込み領域は残ります。同じコンテナを起動し直せばそこに書いたファイルを読めます。コンテナを削除すると、その書込み領域も失われます。--rmで作る使い捨てコンテナは終了時に自動削除されるため、通常の停止とは区別します。

DBや添付など残すデータは、ボリュームやバインドマウントなどへ保存します。名前付きボリュームはコンテナと独立した寿命を持ちますが、別途削除すればデータも失われます。永続化とバックアップは別です。Docker入門記事では、停止・再作成の前後に実ファイルを読み、残る範囲を確認しています。

複数サービスとイメージの取得

Docker Composeは、アプリとDBなどの構成をまとめて定義・操作します。環境の共有では、イメージだけでなく、起動設定、データの保存先、準備完了の確認も必要です。Docker DesktopはPC用のアプリ、Docker Engineはコンテナを実行・管理する仕組みで、利用条件も区別して確認します。

Docker Hubの取得制限は、2026年9月21日に確認した公式資料では、未認証が6時間あたり100回(IPv4アドレスまたはIPv6の/64単位)、認証済みPersonalが200回、認証済みPro・Team・Businessが無制限です。未認証のジョブが同じ送信元IPを使うと、制限を共有します。認証済みの場合はアカウントや組織への帰属条件も確認します。

取得失敗をすべて回数制限と決めつけず、エラー本文、認証状態、対象イメージの存在、公式の制限を照合します。タグは付け替えられるため、厳密な再現にはダイジェストも記録し、固定したイメージにも更新の手順を用意します。

参考:Docker overview、Volumes、Docker Hubの取得制限。