docker提升用户权限

时间:2014-08-01 20:45:25

标签: node.js ubuntu gruntjs docker

我尝试sudo进行节点安装:

 sudo npm install -g grunt
 sudo npm install -g grunt-cli
 sudo npm install -g bower

命令错误表明以管理用户身份运行。我如何在Dockerfile中执行此操作?

 RUN npm install -g grunt
 #RUN ln -s  /home/dev/spikes/node-esjs-master/node_modules/grunt  /usr/bin/grunt

 RUN npm install -g grunt-cli
 #RUN ln -s  /home/dev/spikes/node-esjs-master/node_modules/grunt-cli  /usr/bin/grunt-cli

 RUN npm install -g bower
 #RUN ln -s  /home/dev/spikes/node-esjs-master/node_modules/bower  /usr/bin/bower

我实际上并没有尝试在docker命令中进行sudo ...我在连接到容器之后但是在提示输入密码时我不知道。我试图创建一个sym链接,但无法使其工作。如果这是基本性质的话,我表示道歉 - 对我来说是新的环境: - )。

谢谢!

1 个答案:

答案 0 :(得分:1)

您不需要使用sudo,因为dockerfile中的所有命令都以root身份执行。安装这些软件的示例Dockerfile(Ubuntu Thrusty作为基础):

FROM ubuntu:14.04

RUN apt-get update
RUN apt-get install -y nodejs npm

RUN npm install -g grunt
RUN npm install -g grunt-cli
RUN npm install -g bower

同样适用于run命令:

$ sudo docker run my_awesome_image whoami
root