有一个官方的解决方案 https://docs.portainer.io/v/ce-2.11/advanced/reset-admin,但我打不开链接。

如果安装了 Docker Desktop 版本,可以直接进入容器 inspect 标签页,直接找到对应的 /data 目录映射值,即可跳过前 3 个步:

进入容器 inspect 标签页,找到对应的 /data 目录映射值

1. 查看所有容器,找到 portainer 对应的 ID

注意获取的是容器的 ID,而非镜像 imageID

~ docker ps -a
CONTAINER ID   IMAGE                           COMMAND                   CREATED             STATUS                      PORTS                                        NAMES
59c3a18af051   ubuntu:jammy                    "bash"                    About an hour ago   Up About an hour                                                         ubuntu-jammy
846a0c42cc3c   portainer/portainer-ce:latest   "/portainer"              4 months ago        Up 7 minutes                8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp   portainer

即这里的 846a0c42cc3c

2. 停止 portainer 容器

# 846a0c42cc3c 为 容器 ID
~ docker stop 846a0c42cc3c

3. 查看容器挂载信息

# 846a0c42cc3c 为 容器 ID
~ docker inspect 846a0c42cc3c

...
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/var/run/docker.sock",
                "Destination": "/var/run/docker.sock",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "volume",
                "Name": "portainer_data",
                "Source": "/var/lib/docker/volumes/portainer_data/_data",
                "Destination": "/data",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            }
        ],
...

这里对应挂载目录为 /var/lib/docker/volumes/portainer_data/_data

4. 重置 portainer 密码

# /dockerpath 为容器挂载的 /data 目录映射值,portainer/helper-reset-password 是一个重置密码助手,没有安装会自动安装
# docker run --rm -v /dockerpath:/data portainer/helper-reset-password
# 实际执行
~ docker run --rm -v /var/lib/docker/volumes/portainer_data/_data:/data portainer/helper-reset-password
2023/08/01 02:46:31 Password succesfully updated for user: admin
2023/08/01 02:46:31 Use the following password to login: TQ6\8U_S9vig?@>Z^,2PoE[4H5dl3KG0

到这密码就重置成功了,这里的密码为 TQ6\8U_S9vig?@>Z^,2PoE[4H5dl3KG0

重新启动 Portainer 并使用这里的账号密码登录即可。

转自:Docker 管理工具 Portainer 忘记 admin 登录密码怎么办?

文章目录