Docker和NodeJS权限被拒绝

我知道,这个问题不是关于编程。

我有一个'Alpine'docker容器,用户'网'我可以安装NodeJS,安装一些模块与npm install并启动开发服务器(或prod服务器)。

但是,当我启动docker提交,新的图像有新的目录,但“networking”没有在目录中的cdls的权限。 即使使用chmod作为根目录,在那之后,我的用户获得Permission denied在所有主目录中Permission denied …就像目录被破坏一样(但是我可以用root来浏览它)。

我不想用root启动应用程序。

编辑2:最后,我只有下面的Dockerfile有同样的问题:

 FROM alpine:3.2 RUN adduser -D web RUN echo "web ALL=(ALL:ALL) NOPASSWD: ALL " > /etc/sudoers USER web WORKDIR "/home/web" ADD ./FOLDER /home/web EXPOSE 8080 5000 

而且这也行不通…也许这是阿尔派的问题?

编辑:与Dockerfile。 我从一个Node BASE映像开始,它有以下操作:

 FROM alpine:3.2 ENV NODE_VERSION=v4.2.4 ENV NPM_VERSION=2 RUN apk --update --virtual build_dependencies \ make gcc g++ python linux-headers paxctl krb5-dev \ automake autoconf nasm git curl file sudo binutils-gold && \ apk add --update krb5-libs libgcc libstdc++ && \ curl -sSL https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}.tar.gz | tar -xz && \ cd /node-${NODE_VERSION} && \ ./configure --prefix=/usr && \ make -j $(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \ make install && \ paxctl -cm /usr/bin/node && \ rm -rf /etc/ssl /node-${NODE_VERSION} RUN cd / && \ if [ -x /usr/bin/npm ]; then \ npm install -g npm@${NPM_VERSION} && \ find /usr/lib/node_modules/npm -name test -o -name .bin -type d | xargs rm -rf; \ fi RUN rm -rf /usr/share/man /tmp/* /var/cache/apk/* /root/.npm /root/.node-gyp \ /usr/lib/node_modules/npm/man /usr/lib/node_modules/npm/doc /usr/lib/node_modules/npm/html RUN adduser -D web ENV PATH $PATH:/home/web/node_modules/.bin 

从那里,我执行以下一些操作:

 git config --global http.sslVerify false git clone "GIT_REPO" cd GIT_REPO git checkout dev npm config set strict-ssl false git config --global http.proxy "PROXY" git config --global https.proxy "PROXY npm config set proxy "PROXY" npm config set https-proxy "PROXY" npm install --production npm install forever 

但是如果我创build自己的目录“/ home / web / TEST”,即使在提交之后,“web”也能够浏览。 在使用npm进行安装之前,我删除了所有指定的.git文件。