我看过一些关于docker的教程,但后来我在一个网页上看到了这个
FROM node:10-alpine
RUN mkdir -p /home/node/node_modules && chown -R node:node /home/node
WORKDIR /home/node
COPY package*.json ./
USER node
RUN npm install
COPY --chown=node:node . .
EXPOSE 8080
CMD [ "node", "app.js" ]
所以为什么我需要这个和什么是chown -R
RUN mkdir -p /home/node/node_modules && chown -R node:node /home/node
1条答案
按热度按时间yc0p9oo01#
您的
mkdir
命令在node
文件夹中创建一个子文件夹,chown -R
命令递归地将文件夹的所有权更改为用户node
(文件夹及其所有内容)。这是必需的,因为
node
应用使用node
用户在/home/node
目录中创建文件和文件夹。从网络安全的Angular 来看,这很重要,特别是如果您不希望应用以admin
或root
帐户运行。