У меня настроена служба 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"]