天天看点

Docker:可视化管理工具Portainer与分析创建管理员账号错误的原因

Portainer

​Portainer​

​​可以部署在任何​

​K8s​

​​、​

​Docker​

​​或​

​Swarm​

​​环境之上,为我们提供所有容器的统一视图。凭借丰富的治理和控制,​

​Portainer​

​​让平台管理员可以轻松地集中管理和保护多集群环境。通过其强大的​

​GUI​

​​和广泛的​

​API​

​​,​

​Portainer​

​​使开发人员能够部署、管理容器化应用程序,并对其进行故障排除,而无需深厚的​

​Kubernetes​

​专业知识。

​Portainer​

​​让​

​DevOps​

​​团队有机会构建简化的、基于​

​Git​

​​的自动化工作流,从而提高生产力并减少错误。​

​Portainer​

​​可以作为​

​Docker​

​​可视化管理工具,允许我们在网页中方便地查看和管理​

​Docker​

​容器。

部署

运行​

​Portainer​

​提供的镜像,即创建与启动容器。

[root@192 ~]# docker run --name portainer -d -p 8000:8000 -p 8001:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/work/portainer:/data portainer/portainer
4bb91a45d36bec924cc81c9c3f1967246c5f45e36f79a00c7388f60bb77178b7
[root@192 ~]# ls /usr/local/work/portainer/
bin  compose  config.json  portainer.db  portainer.key  portainer.pub  tls      

查看容器是否启动成功(​

​Up 53 seconds​

​说明容器启动成功了)。

[root@192 ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                                                                  NAMES
4bb91a45d36b   portainer/portainer   "/portainer"             54 seconds ago   Up 53 seconds   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:8001->9000/tcp, :::8001->9000/tcp   portainer      

访问​

​http://192.168.1.4:8001/​

​​(​

​192.168.1.4​

​​是虚拟机的​

​IP​

​​地址,​

​8001​

​​是宿主机映射到​

​portainer​

​​容器​

​9000​

​端口的端口),创建管理员账号。

Docker:可视化管理工具Portainer与分析创建管理员账号错误的原因

创建失败。

Docker:可视化管理工具Portainer与分析创建管理员账号错误的原因

发现​

​portainer​

​容器已经退出了。

[root@192 ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED       STATUS       PORTS                                                 NAMES      

查看所有容器信息。

[root@192 ~]# docker ps -a
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS                     PORTS                                                 NAMES
4bb91a45d36b   portainer/portainer   "/portainer"             11 minutes ago   Exited (1) 6 minutes ago                                                         portainer      

可以通过查看容器的日志信息来发现这个错误的原因。

[root@192 ~]# docker logs 4bb91a45d36b
2022/01/27 12:31:26 Warning: the --template-file flag is deprecated and will likely be removed in a future version of Portainer.
2022/01/27 12:31:27 [ERROR] [http,client] [message: unexpected status code] [status_code: 403]
2022/01/27 12:31:27 [WARN] [exec,extensions] [message: unable to retrieve extensions manifest via Internet. Extensions will be retrieved from local cache and might not be up to date] [err: Invalid response status (expecting 200)]
2022/01/27 12:31:27 server: Reverse tunnelling enabled
2022/01/27 12:31:27 server: Fingerprint f7:a8:34:ef:6b:a5:b0:b2:23:9d:9f:63:93:c1:de:fd
2022/01/27 12:31:27 server: Listening on 0.0.0.0:8000...
2022/01/27 12:31:27 Starting Portainer 1.24.2 on :9000
2022/01/27 12:31:27 [DEBUG] [chisel, monitoring] [check_interval_seconds: 10.000000] [message: starting tunnel management process]
2022/01/27 12:31:58 http error: No administrator account found inside the database (err=Object not found inside the database) (code=404)
2022/01/27 12:31:58 http error: No administrator account found inside the database (err=Object not found inside the database) (code=404)
2022/01/27 12:36:27 No administrator account was created after 5 min. Shutting down the Portainer instance for security reasons.      

No administrator account was created after 5 min. Shutting down the Portainer instance for security reasons.

5分钟后未创建管理员帐户。出于安全原因,正在关闭Portainer实例。

其实就是在​

​portainer​

​​容器启动五分钟后,还没有创建管理员账号,​

​portainer​

​容器就会自动关闭。

再重新启动​

​portainer​

​容器。

[root@192 ~]# docker start portainer
portainer      

启动成功。

[root@192 ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                                                                  NAMES
4bb91a45d36b   portainer/portainer   "/portainer"             21 minutes ago   Up 37 seconds   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:8001->9000/tcp, :::8001->9000/tcp   portainer      

五分钟内创建管理员账号即可成功,创建成功后,就可以进入如下图所示的页面。

Docker:可视化管理工具Portainer与分析创建管理员账号错误的原因

查看本地的​

​Docker​

​环境。

Docker:可视化管理工具Portainer与分析创建管理员账号错误的原因
Docker:可视化管理工具Portainer与分析创建管理员账号错误的原因
Docker:可视化管理工具Portainer与分析创建管理员账号错误的原因

​Docker​

​中的容器信息。

Docker:可视化管理工具Portainer与分析创建管理员账号错误的原因

​Docker​

​中的镜像信息。

Docker:可视化管理工具Portainer与分析创建管理员账号错误的原因