【问题标题】:How to prevent docker error 137 on AWS Lightsail?如何防止 AWS Lightsail 上出现 docker 错误 137?
【发布时间】:2021-05-01 00:46:15
【问题描述】:

我有最便宜的实例操作系统 AWS Lightsail(512 MB RAM,1 个 vCPU,20 GB SSD)和 Ubuntu 20.04,我正在尝试部署一个包含 5 个容器的项目(djangoreactnginxpostgresrediscelery) 使用 docker-compose(我手动安装的)。

django 构建成功,但是 docker 在 react 构建期间返回 137 错误。似乎我使用的库之一在节点 14.16.1 处具有已弃用的依赖项:

npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. 
Upgrade to chokidar 3 with 15x less dependencies.

npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. 
Upgrade to fsevents 2.

我不知道 npm 是否正在尝试通过升级软件包来解决这些问题,但这需要 docker 花费大量时间才能继续,直到发生以下两种情况之一:

  • docker 抛出错误 137;
The command '/bin/sh -c apk add --no-cache --virtual .gyp python make g++ && npm install && apk del .gyp' returned a non-zero code: 137
ERROR: Service 'react' failed to build : Build failed
  • 我失去了与我的实例的连接,并且几个小时都无法连接到它。 AWS 返回以下错误:UPSTREAM_NOT_FOUND [519]

发生 OOM 问题是因为我正在尝试构建机器不支持的东西?或者我可以调整一些配置以使其工作吗?我该如何解决这个问题?

Dockerfile:

###########
# BUILDER #
###########

FROM node:14.16.1-alpine3.10 as builder

WORKDIR /app/react

# install dependencies and avoid `node-gyp rebuild` errors
COPY ./package.json .
RUN apk add --no-cache --virtual .gyp \
    python \
    make \
    g++ \
    && npm install \
    && apk del .gyp

COPY . .

RUN npm run build


#########
# FINAL #
#########


FROM node:14.16.1-alpine3.10

WORKDIR /app/react

# install serve - deployment static server suggested by official create-react-app
RUN npm install -g serve

COPY --from=builder /app/react/build ./build

非常感谢!

【问题讨论】:

  • 你了解上游构建和下游构建吗?你给反应的东西很好吗??

标签: amazon-web-services docker docker-compose dockerfile amazon-lightsail


【解决方案1】:

137 退出代码实际上来自 linux 内核,而不是来自 docker。这意味着您的进程内存不足并被杀死。可能在构建过程中运行的许多进程将使用超过 512M 的 RAM,甚至可能是一两个 GB。您应该使用具有更多 RAM 的实例,问题应该会自行解决。

【讨论】:

    猜你喜欢
    • 2022-08-04
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 2018-07-29
    相关资源
    最近更新 更多