Skip to content
Playground

Docker

Docker Desktop やコンテナーの起動でよく発生するエラーと対処をまとめます。

docker --version を実行したときに次のようなメッセージが表示される場合です。

docker: command not found
'docker' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

Docker Desktop がインストールされていないか、インストール後に PATH が通っていないことが原因です。タスクトレイに Docker のアイコン(クジラ)があるか確認してください。アイコンがない場合はインストール自体が完了していないため、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 を実行してください。

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.yamlports"3307:3306" になっているか確認してください。この設定は、PC 側のポートを 3307 にずらすことで衝突を避けています。