我正在使用一个Docker映像,它是使用USER命令构建的,以使用一个称为dev的非根用户。 在容器中,我是“dev”,但我想编辑/etc/hosts文件。
所以我需要是根。我正在尝试su命令,但要求我输入根密码。
Docker容器中root用户的默认密码是什么?
我正在使用一个Docker映像,它是使用USER命令构建的,以使用一个称为dev的非根用户。 在容器中,我是“dev”,但我想编辑/etc/hosts文件。
所以我需要是根。我正在尝试su命令,但要求我输入根密码。
Docker容器中root用户的默认密码是什么?
当前回答
当您启动容器时,您将是root,但您不知道root的pw是什么。要设置它为你知道的东西,只需使用“passwd root”。快照/提交容器以保存您的操作。
其他回答
我可以用下面的命令让它工作。
root@gitnew:# docker exec -it --user $(username) $(containername) /bin/bash
当使用-u选项时,您可以使用root用户(ID = 0)而不是提供的默认用户登录Docker容器。如。
docker exec -u 0 -it mycontainer bash
Root (id = 0)是容器中的默认用户。图像 开发人员可以创建其他用户。可以访问这些用户 的名字。当传递数字ID时,用户不必存在于 的容器中。
摘自Docker文档
更新:当然你也可以使用Docker容器管理命令来运行这个:
Docker容器exec -u 0 -它mycontainer bash
您可以在Dockerfile中使用USER根命令。
默认情况下,docker容器以root用户运行。
如果您仍在使用容器,可以使用exit命令返回root(默认用户)用户,而不是再次运行容器。
的例子,
[dev@6c4c86bccf93 ~]$ ls
[dev@6c4c86bccf93 ~]$ other-commands..
[dev@6c4c86bccf93 ~]$ exit
[root@6c4c86bccf93 /]# ls
最后,我决定重新构建Docker映像,这样我就可以用我知道的东西来更改根密码。
RUN echo 'root:Docker!' | chpasswd
or
RUN echo 'Docker!' | passwd --stdin root