DockerのPostgreSQLで「initdb: error: The program “postgres” is needed by initdb but was not found in the」

今回はDockerのPostgreSQLを使っているときに下記のエラーが出たときの対処法についてご紹介していこうと思います。



DockerのPostgreSQLで「initdb: error: The program “postgres" is needed by initdb but was not found in the」

結論から言うと、Dockerfileに記載しているイメージが問題でした。

私はバージョン14系のPostgreSQLを使用しようとしてましたが、Dockerfileで

と指定して14のイメージをpullしようとしていました。

しかし、これではエラーが出てしまう場合があるようです。
原理はよく分かりませんが、「bullseye」がついているイメージが良いそうですね。

そこでDockerfileを

のように記載すればエラーが出ずにコンテナを起動できるようになりました。

終わりに

今回はDockerのPostgreSQLを使っているときに冒頭のエラーが出たときの対処法についてご紹介いたしました。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者1000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Docker

Posted by ちこ