DockerのPostgreSQLで「initdb: error: The program “postgres” is needed by initdb but was not found in the」
今回はDockerのPostgreSQLを使っているときに下記のエラーが出たときの対処法についてご紹介していこうと思います。
1 2 3 4 5 |
sample-db | popen failure: Cannot allocate memory sample-db | initdb: error: The program "postgres" is needed by initdb but was not found in the sample-db | same directory as "/usr/lib/postgresql/14/bin/initdb". sample-db | Check your installation. sample-db exited with code 1 |
DockerのPostgreSQLで「initdb: error: The program “postgres" is needed by initdb but was not found in the」
結論から言うと、Dockerfileに記載しているイメージが問題でした。
私はバージョン14系のPostgreSQLを使用しようとしてましたが、Dockerfileで
1 |
FROM postgres:14 |
と指定して14のイメージをpullしようとしていました。
しかし、これではエラーが出てしまう場合があるようです。
原理はよく分かりませんが、「bullseye」がついているイメージが良いそうですね。
そこでDockerfileを
1 |
FROM postgres:14-bullseye |
のように記載すればエラーが出ずにコンテナを起動できるようになりました。
終わりに
今回はDockerのPostgreSQLを使っているときに冒頭のエラーが出たときの対処法についてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません