加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

node.js – docker:在创建新用户后运行npm install时遇到问题

发布时间:2020-12-16 03:55:21 所属栏目:安全 来源:网络整理
导读:所以我有另一个跟进问题,关于在CoreOS上根据this post在Docker下安装基于node.js的框架. 所以,因为npm很难通过root从package.json安装,所以我必须创建一个nonroot sudo用户才能安装软件包.这就是我的Dockerfile目前在我们的repo中的样子,构建了一个ubuntu映

所以我有另一个跟进问题,关于在CoreOS上根据this post在Docker下安装基于node.js的框架.

所以,因为npm很难通过root从package.json安装,所以我必须创建一个nonroot sudo用户才能安装软件包.这就是我的Dockerfile目前在我们的repo中的样子,构建了一个ubuntu映像:

# Install dependencies and nodejs
RUN apt-get update
RUN apt-get install -y python-software-properties python g++ make
RUN add-apt-repository ppa:chris-lea/node.js
RUN apt-get update
RUN apt-get install -y nodejs

# Install git
RUN apt-get install -y git

# Bundle app source
ADD . /src

# Create a nonroot user,and switch to it
RUN /usr/sbin/useradd --create-home --home-dir /usr/local/nonroot --shell /bin/bash nonroot
RUN /usr/sbin/adduser nonroot sudo
RUN chown -R nonroot /usr/local/
RUN chown -R nonroot /usr/lib/
RUN chown -R nonroot /usr/bin/
RUN chown -R nonroot /src

USER nonroot

# Install app source
RUN cd /src; npm install

我知道这是一种不太优雅的做事方式,但我不知道如何在这里完成一个npm安装.当我尝试上述操作时,我尝试安装时会在所有软件包上出现错误:

 Error: Attempt to unlock javascript-brunch@1.7.1,which hasn't been locked
     at unlock (/usr/lib/node_modules/npm/lib/cache.js:1304:11)
     at cb (/usr/lib/node_modules/npm/lib/cache.js:646:5)
     at /usr/lib/node_modules/npm/lib/cache.js:655:20
     at /usr/lib/node_modules/npm/lib/cache.js:1282:20
     at afterMkdir (/usr/lib/node_modules/npm/lib/cache.js:1013:14)
     at /usr/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53
     at Object.oncomplete (fs.js:107:15)
 If you need help,you may report this *entire* log,including the npm and node versions,at:
     

有关如何修改我的Dockerfile的任何想法?我只能假设这是一个许可问题,与我在上面配置非root用户的方式有关,这可能是Docker框架特有的;我只是在一个普通的ubuntu安装上做这种事情没问题,尽管不是来自脚本.

最佳答案
所以事实证明这可能是an issue with docker.

能够通过从USER nonroot切换到RUN / bin / su nonroot来解决这个问题,之后一切正常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读