前言
Portainer 应该都比较熟悉了,它是一个轻量级的管理 UI ,可让你轻松管理不同的 Docker 环境。
系统不常使用后,密码也没有记录过,这就更容易忘记账号密码了,是不是就无法在使用系统了呢?答案当然不是,也就是在多折腾折腾,最终还是可以解决问题的。
操练
查看容器是否正常运行
服务正常运行,访问系统,但认证无效,管理员账户密码已记不住,无法正常登录系统了。
停止 portainer 容器
root@scm:/home/scm# docker stop a8493d698a2c
a8493d698a2c
root@scm:/home/scm#
root@scm:/home/scm# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d84859b85a80 dd21862d2f49 "docker-entrypoint.s…" 12 months ago Exited (0) 11 months ago mypostgres
a8493d698a2c portainer/portainer "/portainer" 14 months ago Exited (2) 4 seconds ago myportainer
root@scm:/home/scm#
root@scm:/home/scm#
查找 portainer 容器挂载信息
# docker inspect a8493d698a2c
注意中间绿框标注的路径
{
"Type": "volume",
"Name": "portainerData",
"Source": "/var/lib/docker/volumes/portainerData/_data",
"Destination": "/data",
"Driver": "local",
"Mode": "z",
"RW": true,
"Propagation": ""
}
进入到这路径下,查看目录中的内容。
执行如下指令,重置管理员密码。
root@scm:/var/lib/docker/volumes/portainerData/_data#
root@scm:/var/lib/docker/volumes/portainerData/_data# docker run --rm -v /var/lib/docker/volumes/portainerData/_data:/data portainer/helper-reset-password
Unable to find image 'portainer/helper-reset-password:latest' locally
latest: Pulling from portainer/helper-reset-password
6dcde7e3d378: Already exists
fbbc1c1500f4: Already exists
Digest: sha256:2ce11ce356218a49420e2632e1b854c2aca9657f2412edb95ac60814f83635e6
Status: Downloaded newer image for portainer/helper-reset-password:latest
{"level":"info","filename":"portainer.db","time":"2023-05-24T01:40:45Z","message":"loading PortainerDB"}
2023/05/24 01:40:45 Password successfully updated for user: admin
2023/05/24 01:40:45 Use the following password to login: kX7Zga@3U^}65$8Q#A]GO2TEFRPv<01{
root@scm:/var/lib/docker/volumes/portainerData/_data#
root@scm:/var/lib/docker/volumes/portainerData/_data#
按你实际的路径执行,看到提示 Password successfully updated for user: admin ,说明密码已重置成功了,默认提供的密码就是 login: kX7Zga@3U^}65$8Q#A]GO2TEFRPv<01{ ,使用这个密码登录系统,然后重新修改密码即可,也最好记录一下,避免下次常时间不用,又需要再次的折腾。
还有一种重置密码的方式如下
scm@scm:~$
scm@scm:~$ sudo docker stop 6506fb756ada
6506fb756ada
scm@scm:~$ sudo find / -name portainer.key
/var/lib/docker/volumes/cf51ad1417b65a2f9fd2ffc47832dbfec7f4df68f63fa2cc8fb8fd7811494b30/_data/portainer.key
/var/lib/docker/volumes/portainerData/_data/portainer.key
/var/lib/docker/volumes/portainer_data/_data/portainer.key
scm@scm:~$
scm@scm:~$
scm@scm:~$
scm@scm:~$ sudo docker run --rm -v /var/lib/docker/volumes/portainer_data/_data:/data portainer/helper-reset-password
{"level":"info","filename":"portainer.db","time":"2023-08-02T07:54:19Z","message":"loading PortainerDB"}
2023/08/02 07:54:20 Password successfully updated for user: admin
2023/08/02 07:54:20 Use the following password to login: 5$J6}0v9F`y7?WBn!{o3kmlrPt4"~wZ2
scm@scm:~$
scm@scm:~$
scm@scm:~$
重新登录系统,已可以正常登录了,尽快修改账户密码,记录保存下来。
升级 portainer 版本
# docker run -d --restart=always --name="upportainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data 6053537/portainer-ce
https://install.portainer.io/ #官网链接
https://docs.portainer.io/#getting-support
已升级到高版本,界面,功能都有了很大的提升。
升级最新版本
scm@scm:~$
scm@scm:~$ sudo docker pull portainer/portainer-ce:2.0.0
[sudo] password for scm:
2.0.0: Pulling from portainer/portainer-ce
d1e017099d17: Pull complete
b0718b1ef1b0: Pull complete
Digest: sha256:0ab9d25e9ac7b663a51afc6853875b2055d8812fcaf677d0013eba32d0bf0e0d
Status: Downloaded newer image for portainer/portainer-ce:2.0.0
docker.io/portainer/portainer-ce:2.0.0
scm@scm:~$
启动容器
scm@scm:~$
scm@scm:~$ sudo docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 --name=portainer2.0.0 --restart=always --pull=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.0.0
2.0.0: Pulling from portainer/portainer-ce
Digest: sha256:0ab9d25e9ac7b663a51afc6853875b2055d8812fcaf677d0013eba32d0bf0e0d
Status: Image is up to date for portainer/portainer-ce:2.0.0
5e77fdae0faa8577fda4b07245eca560805f22bfdbb1df900caaa111464462b8
scm@scm:~$
scm@scm:~$
最新版本升级如上显示