bcrypt - Bcrypt docker passwd 使用 --admin-passwd
问题描述
以下命令有什么问题?它旨在使用管理员密码“portainer”创建一个搬运工容器:
docker run --rm -d --name "portainer" -p "127.0.0.1:9001:9000" -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer --admin-password='$2a$10$0PW6gPY0TSeYzry2RSakl.7VUVmzdmD6mQPcemiG6i2vfJGGGePYu'
它会导致一个 Portainer 容器拒绝“admin”的访问,说 passwd 'portainer' 无效。细节:
- 我把它放到一个 .bat 文件中。这个东西在 Windows 10 的 docker CE 上运行。
- 单引号内的较长 crypt 字符串是指定管理员密码 'portainer' 的 bcrypt 等价物。我在这里创建并检查了它:https ://www.javainuse.com/onlineBcrypt
- 在运行命令之前,我停止并删除了一个旧的搬运工容器,甚至说
docker volume rm portainer_data
. - 将“$”加倍为“$$”并不能解决问题。
- 该命令深受官方搬运工文档的启发:https ://documentation.portainer.io/v2.0/deploy/initial/
现在我有一个简单的解决方法:只需删除该--admin-passwd
参数。鉴于我将卷授予搬运工,我可以在第一次启动时定义一个密码。但是,我仍然更喜欢纯脚本解决方案。有任何想法吗?