如何获取Docker容器根密码

48

我如何获取Docker容器的root密码?

[root@localhost train02]# docker exec -it jenkins /bin/bash
[jenkins@89d5aa94e6ec /]ls /root
ls:cannot open directory /root: Permission denied

如果您没有在镜像中授予jenkins账户sudo权限,则将无法操作。 - BMW
2个回答

121

如果您正在使用docker (>=1.7.0),请在docker exec命令后添加-u选项:

docker exec -it -u root jenkins /bin/bash

它将会以 root 用户身份运行 /bin/bash。


我遇到了错误“exec: "-u":executable file not found in $PATH”。 - user2492364
@user2492364 抱歉,我把“-u root”放错了位置。请尝试新的命令。 - kev
谢谢,它有效了!但是当执行“ls /root”时仍然出现权限被拒绝的情况。你知道为什么会发生这种情况吗?这很奇怪。 - user2492364
您可以检查权限:stat /root - kev
2
这并没有回答问题。它告诉了如何获取root shell,但没有提供默认的root密码是什么。 - Brennan Vincent

0

我试了这样,得到了这个结果:FYI / JFR

$ docker-compose exec -it -u root php bash  
Execute a command in a running container  
(further hint suggestions continues...)  

当我从参数中省略了-it开关时,它就被接受了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接