调用nodejs6.10运行时出错:来自守护进程的错误响应:允许的最小内存限制为4MB

时间:2018-01-11 13:26:11

标签: node.js macos amazon-web-services docker aws-sam-cli

我正在使用docker for mac而我正在使用docker文件。我还使用docker-compose文件在同一个桥接网络上创建一个mysql docker实例和一个sam本地实例。

我能够将我的文件复制到sam本地实例并启动并运行mysql实例。

当我做一个docker-compose --build

当我点击API上的任何端点时出现以下错误:错误调用nodejs6.10运行时:来自守护程序的错误响应:允许的最小内存限制为4MB

当我使用sam本地执行此操作而没有仅仅在我的项目文件夹中的docker-compose或docker文件时。我不明白这个问题。

据我所知,这来自底层的linux vm,即docker for mac运行。这些容器是LXC容器,它们需要的最小内存为4mb。

如果我使用以下方式运行此图像:

docker run -it --memory-reservation 10000000 -v /var/run/docker.sock:/var/run/docker.sock -p 3000:3000 samlocal

我仍然遇到这个问题,这让我相信这是在本地sam中实例化新lambda容器的问题。

我不确定是否有办法从容器内修改LXC的hostconfig文件,或者是否有其他解决此问题的方法。

我的samlocal dockerfile和docker-compose文件如下:

DOCKERFILE:

FROM alpine:3.6

ENV VERSION = 0.2.4

RUN apk add --no-cache curl&& \     curl -sSLO https://github.com/awslabs/aws-sam-local/releases/download/v $ {VERSION} / sam _ $ {VERSION} _linux_386.tar.gz&& \     tar -C / usr / local / bin -zxvf /sam_${VERSION}_linux_386.tar.gz& amp ;& amp; \     apk del curl&& \     rm -f / sam _ $ {VERSION} _linux_386.tar.gz

RUN apk add --no-cache py-pip&& pip install awscli

WORKDIR / var / opt

EXPOSE 3000

COPY。

ENTRYPOINT [“/ usr / local / bin / sam”] CMD [“local”,“start-api”,“ - host”,“0.0.0.0”,“ - docker-volume-basedir”,“/ 1725_ecpo_lambda”]

DOCKER-COMPOSE FILE:

版本:“3” 服务:

samlocal:     建立:       上下文:./       dockerfile:sam-local-docker.dockerfile     端口:        - “3000:3000”     卷:        - /var/run/docker.sock:/var/run/docker.sock     网络:        - 后端

分贝:     建立:       上下文:./       dockerfile:mysql-docker.dockerfile     端口:        - 3306:3306     卷:        - db-data:/ var / lib / mysql        - /var/run/docker.sock:/var/run/docker.sock     网络:        - 后端

网络:   后端:

卷:   DB-数据:

0 个答案:

没有答案