有効なDocker環境が見つかりませんでした
· 2分の読み時間
概要
Macをアップデートした後、Dockerが正常に動作しなくなり、再インストールする必要がありました。しかし、テストを実行するとコンテナが正常に動作しないエラーに遭遇しました。
調べてみると、/var/run/docker.sock
が正しく設定されていないことが原因でした。ここでは、この問題を解決する方法を共有します。
説明
この問題はDocker Desktopバージョン4.13.0
で発生します。
デフォルトでは、Dockerはホスト上に/var/run/docker.sockシンボリックリンクを作成せず、代わりにdocker-desktop CLIコンテキストを使用します。 (参照: https://docs.docker.com/desktop/release-notes/)
現在のDockerコンテキストはdocker context ls
コマンドで確認できます。以下のように表示されます:
NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock https://kubernetes.docker.internal:6443 (default) swarm
desktop-linux * moby unix:///Users/<USER>/.docker/run/docker.sock
問題を解決するには、デフォルトのコンテキストを設定するか、unix:///Users/<USER>/.docker/run/docker.sock
に接続します。
解決方法
以下のコマンドを実行してデフォルトのコンテキストに切り替え、Dockerが正常に動作するか確認してください:
docker context use default
問題が解決しない場合は、以下のコマンドでシンボリックリンクを手動で作成して解決できます:
sudo ln -svf /Users/<USER>/.docker/run/docker.sock /var/run/docker.sock