我正在使用一个Docker映像,它是使用USER命令构建的,以使用一个称为dev的非根用户。 在容器中,我是“dev”,但我想编辑/etc/hosts文件。
所以我需要是根。我正在尝试su命令,但要求我输入根密码。
Docker容器中root用户的默认密码是什么?
我正在使用一个Docker映像,它是使用USER命令构建的,以使用一个称为dev的非根用户。 在容器中,我是“dev”,但我想编辑/etc/hosts文件。
所以我需要是根。我正在尝试su命令,但要求我输入根密码。
Docker容器中root用户的默认密码是什么?
当前回答
docker exec -u 0 -it containername bash
其他回答
尝试以下命令获得根访问权限
$ sudo -i
我建议一个更好的解决方案是在启动容器时给docker run——add-host NAME:IP参数。这将更新/etc/hosts/文件,而不需要成为根用户。
否则,你可以通过给docker run -u USER标志来覆盖USER设置。然而,我不建议这样做,因为你不应该在一个运行的容器中更改东西。相反,在Dockerfile中进行更改并构建一个新映像。
获取正在运行的容器的外壳并更改根通道。
docker exec -u 0 -it <MyContainer> bash
root@MyContainer:/# passwd
Enter new UNIX password:
Retype new UNIX password:
在运行的容器中创建/更改根密码
docker exec -itu 0 {container} passwd
我可以用下面的命令让它工作。
root@gitnew:# docker exec -it --user $(username) $(containername) /bin/bash