状況
docker-composeを立ち上げようとした時、下記のようなエラーが出てうまくいかなかった。
ERROR: Cannot create container for service postgresql: status code not OK but 500:
原因・解決方法
Windows用のDocker Desktopでは、File Sharging設定で自分が参照するフォルダを指定してやらないとだめらしい。
[手順]
1. Docker Desktopから[Settings] > [Resources] > [FILE SHARING] へ遷移 2. 自分がdocker-composeで参照するディレクトリを指定 3. Docker Desktopをリスタート
Resources に FILE SHARING が存在しない時
ベースエンジンにWSL2を利用していると、リソース割り当ての管理はWindowsに任され、ユーザーからは変更できないらしい。 このような場合は、下記手順で FILE SHARING を変更できるようになる。
[手順]
1. [Settings] > [General] へ遷移する。 2. `Use the WSL2 based Engine` のチェックを外す。
Required Windows feature(s) not enabled: Hyper-V.
という警告が表示された場合
Dockerを動かすにはWindows 10上でLinuxを動作させるための仮想マシンが必要で、WSL2使用しないのであれば代わりにHyper-Vを使用することになる。だが、そのHyper-Vが有効化されていないという状況。 Hyper-Vを有効にすれば警告は解消される。
[手順]
管理者権限でPowerShellを開き、下記コマンドを実行後再起動する。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
これで無事エラーが解消されました。