Запуск контейнера в ECS Fargate от имени пользователя без полномочий root выдает ошибку EACCES - PullRequest
1 голос
/ 07 июня 2019

У меня настроена служба ECS Fargate.Обновляя Dockerfile для использования пользователя без полномочий root, в CloudWatch была зарегистрирована следующая ошибка:

npm ERR! path /opt/app/package.json
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall open
npm ERR! Error: EACCES: permission denied, open '/opt/app/package.json'

При запуске контейнера от имени пользователя root по умолчанию у меня нет проблем.

Докер-файл без полномочий root (ниже) работает локально.(ОС: Pop! _OS 18.10; Docker 18.09.6)

Dockerfile пользователя root:

FROM node:10.16-alpine

RUN mkdir -p /opt/app

WORKDIR /opt/app

COPY src/package.json .

RUN npm install

COPY src .

RUN npm run spec:build

CMD ["npm", "start"]

Dockerfile без полномочий root

FROM node:10.16-alpine

RUN mkdir -p /opt/app

WORKDIR /opt/app

COPY src/package.json .

RUN npm install

COPY src .

RUN npm run spec:build \
  && chown -R node: ./**/*

USER node

CMD ["npm", "start"]
...