Portainer Server 管理本机和远程主机的docker容器

安装 Portainer Server

首先,创建数据卷, 或者在 docker run 命令中通过 -v portainer_data:/data 创建卷/var/lib/docker/volumes/portainer_data/_data

1
docker volume create portainer_data

然后,下载并安装 Portainer Server 容器

连接容器时出现 Unable to retrieve image details 错误提示
因为 portainer-ce 2.19 与 docker-ce 26 不兼容
解决办法
1, portainer-ce 2.19 与 docker-ce 25 组合使用.
2, portainer-ce 2.20 与 docker-ce 26 组合使用.

1
2
3
4
5
6
7
8
docker run -d \
-p 8000:8000 \
-p 9443:9443 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:2.20.1

默认情况下,Portainer 是通过 https(9443) 访问,如果你想使用 http(9000) 访问,则加入 -p 9000:9000

通过 https://0.0.0.0:9443 访问,第一次需要设置密码。

安装 Portainer agent

如果你想管理远程主机上的docker容器,则需要下面的步骤。

portainer-ce 2.20.1 需要与 agent 2.20.1 版本相对应

一、在 portainer 页面左侧的 Settings 中找到 Environments 点击进入。
二、右侧上方 点击 Add environment 进入。
三、选择第一个 docker standalone,然后点击下方的 start wizard
四、选择 agent , 选择你的系统 Linux, 复制对应的系统代码 Copy command,设置 Namedocker-prod01, Environment address远程主机ip:9001

最后在远程主机上运行如下命令

1
2
3
4
5
6
7
docker run -d \
-p 9001:9001 \
--name portainer_agent \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
portainer/agent:2.20.1

这样你就会在 portainer 页面的 Home 页的右侧看到多出来一个远程的主机,点击进去就可以管理其中的docker 容器了。

忘记密码?重新生成 Portainer 登陆密码

运行此命令,下面有步骤详细说明

1
2
3
4
5
docker stop portainer && \
docker run --rm \
-v $(dirname `find /var/lib/docker/volumes -name portainer.key`):/data \
portainer/helper-reset-password && \
docker start portainer

1、先把portainer 容器停止,必须停止

1
docker stop portainer

2、找到 portainer.key 文件所在的目录

1
2
3
find /var/lib/docker/volumes -name portainer.key
#返回
#/var/lib/docker/volumes/portainer_data/_data/portainer.key

3、执行命令重新生成admin账户密码

1
2
3
4
#/var/lib/docker/volumes/portainer_data/_data 为portainer.key所在的目录
docker run --rm \
-v /var/lib/docker/volumes/portainer_data/_data:/data \
portainer/helper-reset-password

返回内容

1
2
3
{"level":"info","filename":"portainer.db","time":"2024-03-28T06:20:51Z","message":"loading PortainerDB"}
2024/03/28 06:20:51 Password successfully updated for user: admin
2024/03/28 06:20:51 Use the following password to login: m8T!yCEG3{+Rtp]el64ZW

4、启动容器

1
docker start portainer

用户 admin
密码 m8T!yCEG3{+Rtp]el64ZW
使用账号和密码登陆portainer,并马上进行后台密码修改。