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
端口的端口),创建管理员账号。
创建失败。
发现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
环境。
Docker
中的容器信息。
Docker
中的镜像信息。
其他信息的展示就不演示了。
到这里就结束了,如果博主有说错的地方或者大家有不同的见解,欢迎大家评论补充。
发布评论