我尝试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链接,但无法使其工作。如果这是基本性质的话,我表示道歉 - 对我来说是新的环境: - )。
谢谢!
答案 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