Docker-Machine Boot2Docker根密码是什么?

55

在任何地方都没有找到答案......我使用docker-machine创建了一个VM(boot2docker),我需要使用root编辑一些文件。

boot2docker的root密码是什么?


3
你尝试过这个吗:tcuser - RenDishen
1
是的,但密码错误。 - user1340582
2
在这里回答:https://dev59.com/XGAf5IYBdhLWcg3wyVF1 - eMad
28
用户:docker,密码:tcuser,然后使用sudo - MediaVince
@MediaVince 这样做是可以的,但这些信息从哪里来的呢? - Rafael Eyng
1
没关系,参考资料在boot2docker README中已经提到,就像这里所说的那样。 - Rafael Eyng
4个回答

70

如果您只有一台Docker主机,您只需要执行以下操作:

$ docker-machine ssh

如果您有多台计算机,您需要首先找到您的“计算机名称”:

$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   *        virtualbox   Running   tcp://192.168.99.101:2376           v1.10.2 

从上面可以看出,default 是你的机器名称,你可以使用以下方法进行ssh连接:

$ docker-machine ssh default

当您登录后,只需使用sudo切换到root用户即可

docker@default:~$ sudo -i
Boot2Docker version 1.10.2, build master : 611be10 - Mon Feb 22 22:47:06 UTC 2016
Docker version 1.10.2, build c3959b1
root@default:~# 

编辑: 此外,正如@MediaVince提到的那样,您可以使用以下凭据:

用户:docker

密码:tcuser


1
为什么-i有效?我知道它的意思是“模拟初始登录”,但具体机制是什么? - Andrei
这实际上并没有回答用户的问题。答案在他问题的评论里。 - TimChandler
抱歉回复晚了。-i选项执行一个登录shell,类似于用户登录。手册包括更完整的解释:作为登录shell运行目标用户密码数据库条目指定的shell。这意味着将由shell读取特定于登录的资源文件,例如.profile或.login。如果指定了命令,则通过shell的-c选项将其传递给shell以执行。如果未指定命令,则执行交互式shell。 - Nick De Greek

31

只需输入

$ docker-machine ssh your_environment

然后成为超级用户

$ sudo -i

希望这可以帮助。


为什么-i有效?我知道它的意思是“模拟初始登录”,但具体机制是什么? - Andrei

21

使用ssh登录 docker 用户:

$ ssh docker@<docker-machine-ip>

密码:tcuser

然后您可以在 root 用户上进行更改,只需运行sudo su root


这也有文件说明,可以在https://github.com/boot2docker/boot2docker/blob/master/README.md找到。 - Brian Ng

0

好的,关键不是执行 "su root" 而是执行 "su sudo"。这样就不需要输入 root 密码了。


对我来说更应该使用 sudo susu sudo 会提示 su: unknown user sudo - Fabian Braun

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