库/postgres Docker 映像无法启动,并显示“popen 失败:无法分配内存”

问题描述 投票:0回答:2

我在 Circleci 上使用 docker-compose 来启动一个 postgres 容器,并在

/docker-entrypoint-initdb.d/
上安装了一堆 sql 文件。我正在使用 ubuntu 机器映像:
ubuntu-2004:202010-01
,但我收到错误:

popen failure: Cannot allocate memory
initdb: error: program "postgres" is needed by initdb but was not found in the same directory as "/usr/lib/postgresql/15/bin/initdb"

它一直在工作,但在某些时候它停止了工作。对我可以尝试什么有什么建议吗?我已经尝试过一些更大的

resource_type
(即从中到大)和其他一些 ubuntu 机器映像。

postgresql ubuntu docker-compose circleci postgresql-initdb
2个回答
8
投票

所有版本,包括最新版本,都遇到此问题。当我尝试使用这张图片

15-bullseye
解决问题时,我被困了将近一天。

这是我得到解决方案的github open issues: https://github.com/docker-library/postgres/issues/1099#issuecomment-1593228770


1
投票

我已经可以使用不同的机器映像了

    machine:
      image: ubuntu-2004:2023.04.2

这可能是检查可用图像的有用链接:https://circleci.com/developer/machine/image/ubuntu-2004

© www.soinside.com 2019 - 2024. All rights reserved.