准备工作:
需准备一台Linux 或 Mac OS 机器, 并且已安装好 Docker 应用,因为是要监控与管理Docker,所以你得有 Docker 运行环境。
本示例以管理和监控 K8s 集群中的 Node 节点来分享(当然你也可以监控和管理你本地运行的docker)
Step1:简介
Portainer 是 Docker 的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。
功能十分全面,基本能满足中小型单位对容器管理的全部需求。
Step2:启动服务
#命令:
docker search portainer
#命令:
more portainer.sh
#内容:
docker run -d -p 9000:9000--restart=always -v /var/run/docker.sock:/var/run/docker.sock -v/etc/ansible/portainer_data:/data --name prtainer-test portainer/portainer
命令说明:
-d: 表示后台运行此服务
-p: 9000:9000表示将容器内的服务端口9000映射到宿主机上9000
--restart=always: 容器的重启策略是在容器退出时总是重启容器
-v/var/run/docker.sock:/var/run/docker.sock: 把宿主机的Docker守护进程(Dockerdaemon)默认监听的Unix域套接字挂载到容器中;
-v portainer_data:/data: 把宿主机portainer_data数据卷挂载到容器/data目录;
--name prtainer-test: 表示给容器设置一个名称,便于识别
portainer/portainer: 表示是镜像的名称,此处一定要写正确,否则会获取不到镜像,启动就会失败
shportainer.sh
备注:
此命令会优先从local(本地)镜像库中拉取对应镜像,如果本地仓库中找不到会从线上镜像仓库中心去拉取。
Step3:检验容器是否正常的运行
Step4:登录创建并配置
设置admin的登录密码
选择连接 docker 的方式
此处有四个选择分别是:
此处有坑:
当你连接 Remote 时,由于远程 node 机器未暴露出 2375 的端口,所以连接时会报“portainer failure unable to ping docker environment”的错误。
解决方案:
1.cd /etc/systemd/system
修改ExecStart如下所示:
ExecStart=/opt/kube/bin/dockerd -H unix:///var/run/docker.sock -Htcp://0.0.0.0:2375
2.执行以下命令
systemctl daemon-reload
systemctl restart docker
再次去连接就可以了。
Step5:登录远程node 后展示如下
今天的分享就到这里啦,大家可以慢慢的去探索~