docker-node:作为非root用户运行,文件权限

遵循docker-node的最佳实践 ,我想以非root用户的身份运行我的节点应用程序。 build议如下:

FROM node:6.10.3 ... # At the end, set the user to use when running this image USER node 

我简化的Dockerfile目前看起来像这样:

 FROM node:6.10.3 WORKDIR /opt/app COPY package.json . RUN npm install COPY . . EXPOSE 3000 USER node CMD ["node", "server.js"] 

因此,在映像构build期间添加的所有文件都由root拥有,但node server.js node作为node用户运行。 这似乎工作正常。

我的问题:是否有任何额外的安全好处chown文件,以便他们属于node而不是root ? 即做类似的事情:

 RUN chown -R node:node . 

它肯定会,但是我也会删除chown二进制文件(以及所有的pipe理工具)。 当有人访问容器如root时,这将会变得更加困难。 在这里看到一个相关的答案。

另外,请参阅此 Dockerfile以获取灵感。