我正在尝试创建一个docker-compose,以portainer作为管理员来设置一个巨大的docker环境。
问题在于,用户首次使用“ docker-compose up”并且开始运行portainer时,他必须导航至portainer Web界面(localhost:9000)并设置管理员用户和密码。
如何自动执行此步骤并使用我定义的默认用户创建一个portainer,所以当该用户第一次导航至portainer时,已经创建了admin用户。
这是我的docker-compose.yml
version: '3.3'
services:
portainer:
image: portainer/portainer
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./portainer/portainer_data:/data
ports:
- "9000:9000"
答案 0 :(得分:1)
Portainer允许您从命令行为admin帐户指定加密的密码。您需要生成密码的哈希值。
例如,这是密码的哈希值-$$ 2y $$ 05 $$ arC5e4UbRPxfR68jaFnAAe1aL7C1U03pqfyQh49 / 9lB9lqFxLfBqS
在您的docker-compose文件中进行以下修改
version: '3.3'
services:
portainer:
image: portainer/portainer
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./portainer/portainer_data:/data
command: --admin-password "$$2y$$05$$arC5e4UbRPxfR68jaFnAAe1aL7C1U03pqfyQh49/9lB9lqFxLfBqS"
ports:
- "9000:9000"
-admin-密码。此标志用于在Portainer中指定加密密码。
更多信息可以在文档中找到-Portainer
希望这会对您有所帮助。
答案 1 :(得分:1)
您需要使用另一个 Microsoft.Data.Sqlite
对散列密码中的每个 $
字符进行转义:
$
到
$2y$05$ZBq/6oanDzs3iwkhQCxF2uKoJsGXA0SI4jdu1PkFrnsKfpCH5Ae4G
答案 2 :(得分:0)
您只能为容器的第一次运行设置管理员密码。使用this repository:
答案 3 :(得分:0)
按照 Mohsen 的说法,您必须运行 docker-compose down
,每次需要重新启动并初始化新的管理员密码时,如果您还想删除卷,则使用选项 -v
。
https://github.com/portainer/portainer/issues/1506#issuecomment-352273682
在后面这种情况下,必须在 docker-compose.yml 文件中使用 version: '3.3'
。