在AWS ElasticBeanstalk中启动Node.js容器时发生权限错误

时间:2019-01-21 21:32:04

标签: node.js amazon-web-services docker amazon-elastic-beanstalk circleci

我不熟悉使用AWS和容器,并且在尝试在ElasticBeanstalk上启动dockerized Node应用程序时遇到问题。我可以在多个本地计算机上本地运行此容器,而不会出现问题。我真的不确定应该在哪里解决此问题。

这是来自AWS的错误:

  

docker:来自守护程序的错误响应:OCI运行时创建失败:container_linux.go:348:启动容器进程导致“ exec:\” / \”:权限被拒绝”:未知。

在故障排除中,我试图将其通过CircleCI推送并遇到以下问题:

  

mkdir:无法创建目录“ / home / node / app”:权限被拒绝   以代码1退出

我是否需要在我丢失的地方设置权限标志?

我的Dockerfile:

FROM node:8.15.0-jessie
WORKDIR /home/node/app
COPY package*.json ./
RUN npm install
COPY . ./
EXPOSE 3000
CMD ["npm", "start"]

我的Docker-compose.yml

version: "3"
volumes:
  app_node_modules:
services:
  app:
    build: .
    user: "node"
    volumes:
      - ./:/home/node/app
      - app_node_modules:/home/node/app/node_modules/
    ports:
      - "3000:3000"

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

RUN chown -R root:root /home/node/app/node_modules/

将此添加到您的DOCKER文件