Docker
Docker Desktop やコンテナーの起動でよく発生するエラーと対処をまとめます。
Docker CLI が使えない
Section titled “Docker CLI が使えない”docker --version を実行したときに次のようなメッセージが表示される場合です。
docker: command not found'docker' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。Docker Desktop がインストールされていないか、インストール後に PATH が通っていないことが原因です。タスクトレイに Docker のアイコン(クジラ)があるか確認してください。アイコンがない場合はインストール自体が完了していないため、Docker Desktop をインストールしてください。アイコンはあるがコマンドが通らない場合は、ターミナルを再起動してから試してください。
Docker Desktop が起動していない
Section titled “Docker Desktop が起動していない”docker compose up -d を実行したときに次のようなエラーが出る場合です。
error during connect: Get "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/...":open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.Docker CLI は Docker のデーモン(本体プログラム)と名前付きパイプ(//./pipe/dockerDesktopLinuxEngine)で通信しますが、そのパイプが存在しない = デーモンが起動していないことを意味します。
タスクトレイから Docker Desktop を起動してください。起動中はアイコンにアニメーションが表示され、起動が完了すると停止します。停止してから再度 docker compose up -d を実行してください。
ポートが既に使用されている
Section titled “ポートが既に使用されている”docker compose up -d を実行したときに次のようなエラーが出る場合です。
Error response from daemon: ports are not available:exposing port TCP 0.0.0.0:3306 -> 127.0.0.1:0:listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address(protocol/network address/port) is normally permitted.PC に MySQL がすでにインストールされていると、MySQL のデフォルトポート(3306)が使われているため、コンテナー側も 3306 を使おうとすると衝突します。compose.yaml の ports が "3307:3306" になっているか確認してください。この設定は、PC 側のポートを 3307 にずらすことで衝突を避けています。