Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker:安装node.js应用程序有问题,因为docker以root用户身份运行_Node.js_Unix_Ubuntu_Docker - Fatal编程技术网

docker:安装node.js应用程序有问题,因为docker以root用户身份运行

docker:安装node.js应用程序有问题,因为docker以root用户身份运行,node.js,unix,ubuntu,docker,Node.js,Unix,Ubuntu,Docker,通过拉ubuntu然后通过设置docker实例,然后在此基础上成功安装node.js 但是,当我尝试拉取我正在处理的node.js应用程序的repo时,我遇到了一个npm安装操作,然后遇到了麻烦,因为该操作预期不会以root用户身份运行,我已经通过 docker run -name="{name}" -t -i {my custom docker container mirroring base-image) /bin/bash 它已将我作为root用户登录。有没有办法不以root用户身份运

通过
拉ubuntu
然后通过设置docker实例,然后在此基础上成功安装node.js

但是,当我尝试拉取我正在处理的node.js应用程序的repo时,我遇到了一个
npm安装
操作,然后遇到了麻烦,因为该操作预期不会以root用户身份运行,我已经通过

docker run -name="{name}" -t -i {my custom docker container mirroring base-image) /bin/bash 
它已将我作为root用户登录。有没有办法不以root用户身份运行
docker
呢?

是的——您需要根据容器的Linux发行版的要求在容器中创建另一个用户帐户(如下所示)

设置用户帐户后,可以使用Dockerfile以该用户的身份运行Dockerfile中的其余命令。有关完整的用例,请参阅

在那个例子中,postgre用户来自哪里?Debian软件包可在安装时创建所需的任何用户。如果您想创建自己的用户,可以将
runuseradd
添加到
Dockerfile
中。作为一个完整的示例,您可以在下面的示例中查看Jira Dockerfile

作为操作员,您还可以使用
-u
参数在
docker run
时间决定要使用的用户帐户。这将覆盖Dockerfile中选择的
用户。

是--您需要根据容器的Linux发行版所期望的内容在容器中创建另一个用户帐户(如下所示)

设置用户帐户后,可以使用Dockerfile以该用户的身份运行Dockerfile中的其余命令。有关完整的用例,请参阅

在那个例子中,postgre用户来自哪里?Debian软件包可在安装时创建所需的任何用户。如果您想创建自己的用户,可以将
runuseradd
添加到
Dockerfile
中。作为一个完整的示例,您可以在下面的示例中查看Jira Dockerfile

作为操作员,您还可以使用
-u
参数在
docker run
时间决定要使用的用户帐户。这将覆盖Dockerfile中选择的
用户。

是--您需要根据容器的Linux发行版所期望的内容在容器中创建另一个用户帐户(如下所示)

设置用户帐户后,可以使用Dockerfile以该用户的身份运行Dockerfile中的其余命令。有关完整的用例,请参阅

在那个例子中,postgre用户来自哪里?Debian软件包可在安装时创建所需的任何用户。如果您想创建自己的用户,可以将
runuseradd
添加到
Dockerfile
中。作为一个完整的示例,您可以在下面的示例中查看Jira Dockerfile

作为操作员,您还可以使用
-u
参数在
docker run
时间决定要使用的用户帐户。这将覆盖Dockerfile中选择的
用户。

是--您需要根据容器的Linux发行版所期望的内容在容器中创建另一个用户帐户(如下所示)

设置用户帐户后,可以使用Dockerfile以该用户的身份运行Dockerfile中的其余命令。有关完整的用例,请参阅

在那个例子中,postgre用户来自哪里?Debian软件包可在安装时创建所需的任何用户。如果您想创建自己的用户,可以将
runuseradd
添加到
Dockerfile
中。作为一个完整的示例,您可以在下面的示例中查看Jira Dockerfile


作为操作员,您还可以使用
-u
参数在
docker run
时间决定要使用的用户帐户。这将覆盖Dockerfile中选择的
用户。

很酷,谢谢--有没有办法在
Dockerfile中创建此用户?我创建了一个sudo
ubuntu
帐户来运行所有的东西,就像你所描述的那样,但是,将其转换为一个可工作的
Dockerfile
脚本一直是一件令人头疼的事情,因为我无法创建该帐户--这真的只是一个正确的
运行useradd
函数的问题吗?谢谢--我已经在原始答案中更明确地添加了useradd信息。因此,对不起,我还有一个补充:我可以做如下事情:
1。运行/usr/sbin/useradd--create home--home dir/usr/local/{user}--shell/bin/bash{user}2。运行/usr/sbin/adduser{user}sudo 3。用户{USER}
,但是运行
RUN sudo chown-R$USER/src
获取目录所有权时遇到了问题。有没有一种正确的方法可以做到这一点,这样它就不会因为pw请求而退出?nm,我将
chown
行撞到根目录下运行,但现在我得到了一个
错误:尝试解锁{package@version},尚未锁定所有软件包上的
错误。抱歉,此时我认为您需要Node/npm ninja的帮助。酷,谢谢--有没有办法在
Dockerfile
中创建此用户?我创建了一个sudo
ubuntu
帐户来运行所有的东西,就像你所描述的那样,但是,将其转换为一个可工作的
Dockerfile
脚本一直是一件令人头疼的事情,因为我无法创建该帐户--这真的只是一个正确的
运行useradd
函数的问题吗?谢谢--我已经在原始答案中更明确地添加了useradd信息。因此,对不起,我还有一个补充:我可以做如下事情:
1。运行/usr/sbin/useradd--create home--home dir/usr/local/{user}--shell/bin/bash{user}2。运行/usr/sbin/adduser{user}sudo 3。用户{USER}
,但是运行
RUN sudo chown-R$USER/src
获取目录所有权时遇到了问题。有正确的答案吗