結論
docker desktopを再起動
環境
mac os
Docker version 20.10.16
本件においてのエラーメッセージ
"ERROR: for postgres UnixHTTPConnectionPool(host='localhost', port=None): Read timed out.
(read timeout=60) ERROR: An HTTP request took too long to complete. Retry with --verbose
to obtain debug information. If you encounter this issue regularly because of slow network
conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60)."
上記のエラーが発生し、Docker ComposeがPostgreSQLコンテナを開始できなかったことが記載されている。
このエラーは、UnixHTTPConnectionPool(host='localhost', port=None)からの読み取りがタイムアウトしたことが原因である。
解決策
解決策としては、Docker ComposeがHTTPリクエストのタイムアウト時間を設定する COMPOSE_HTTP_TIMEOUT をより高い値に設定する。また、Docker Desktopを再起動することで問題が解決された報告がある。これは、Dockerデーモンが原因であった可能性があり、Docker Desktopを再起動することで、Dockerデーモンを再起動し、問題を解決できるためである。
以上より、Docker ComposeがPostgreSQLコンテナを開始できないエラーが発生し、 COMPOSE_HTTP_TIMEOUT の設定変更や、Docker Desktopの再起動が有効な解決策となることが示唆される。なお、Dockerデーモンが原因であった場合、再起動によって問題が解決されることがあるため、Dockerデーモンによって管理されている状態が何らかの問題を引き起こしていた可能性がある。