2017-05-08 10 views
0

これをDEPSインストールに失敗したことは私のDockerfileです:それは私がdocker-compose up Iを実行しようとするとdocker-composeDockerfileに新規ユーザーを作成し、NPMは

version: '2' 
services: 
    hello: 
    build: ./hello 
    command: "pm2-docker server.js" 
    ports: 
     - 8080:8080 
    volumes: 
     - ./hello:/usr/src/hello 

から自分のアプリケーションを構築するために使用

FROM node:7.10.0 

RUN useradd --user-group --create-home --shell /bin/false app 

RUN mkdir -p /usr/src/hello 
ENV HOME=/usr/src/ 

COPY package.json $HOME/hello/ 
RUN chown -R app:app $HOME/* 

RUN npm install -g pm2 

USER app 
WORKDIR $HOME/hello 
RUN npm install 

EXPOSE 8080 

CMD ["npm", "start"] 

次のエラーが表示されます。

npm ERR! Error: EACCES: permission denied, mkdir '/usr/src/.npm/hapi' 
npm ERR! { Error: EACCES: permission denied, mkdir '/usr/src/.npm/hapi' 
npm ERR! errno: -13, 
npm ERR! code: 'EACCES', 
npm ERR! syscall: 'mkdir', 
npm ERR! path: '/usr/src/.npm/hapi', 
npm ERR! parent: 'hello' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

なぜ実行中ユーザーappとしてに次のエラーが発生しますか?

答えて

1

あなたは間違いなく私の最高の推測では、RUN chown -R app:app $HOME/*がそこにRUN chown -R app:app $HOME

/*ないはずです...フォルダの所有権とアクセス権のエラーを持っています。 -Rオプションがchownの場合、すべてのサブフォルダが既に処理されています。

+0

ええ、それは問題を解決しました;-) – Mazzy

関連する問題