首页 > 解决方案 > 更改 docker-machine docker 用户默认密码

问题描述

我正在使用 docker-machine 来配置生产 docker 环境,也使用 docker swarm。当你创建一个新的 docker-machine 时,docker用户的默认密码是tcuser。您将需要它来将您的机器与配置.ssh/authorized_keys文件的其他站点链接。

当您开始启动服务时,您需要更改默认的docker用户密码,这样您就可以保护您的系统免受未经授权的访问(docker 用户是 sudoer!),但是当您启动passwd命令并重新启动机器时,您将看到您的更改已被还原。

问题:我应该在哪里或如何更改docker用户密码以保持重新启动之间的更改?

标签: securitydockerdocker-machineboot2docker

解决方案


Boot2docker 是一个 ISO 映像,它可以启动您的轻型机器并在其上运行 docker 守护程序。它有两个存储持久信息的目录:

  • /var/lib/booot2docker:存储操作系统配置。
  • /var/lib/docker: 存储 docker 守护进程配置。

这两个文件夹在启动期间填充到 tmpfs 文件系统,因此您必须在此处进行更改。

因此,要更改密码,您必须登录到执行docker-machine ssh YourMachine. 然后更改文件/var/lib/boot2docker/profile并将此行添加到其中:

echo "docker:YourNewPassword"|sudo chpasswd

然后您必须重新启动机器,例如,docker-machine restart YourMachine从您的主机启动。这样,profile脚本将在启动时执行,并将您的密码重置为您在每次重新启动时选择的密码。

您可以按预期检查旧密码是否tcuser不再有效。

PS:我仍然不明白在stackoverflow或谷歌搜索中找到这个问题的解决方案是多么困难......我真的认为这已经足够重要了。


推荐阅读