Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。
下载Portainer镜像
# 查询当前有哪些Portainer镜像
docker search portainer
# 下载镜像
docker pull docker.io/portainer/portainer
如果仅有一个docker宿主机,则可使用单机版运行,Portainer单机版运行十分简单,只需要一条语句即可启动容器,来管理该机器上的docker镜像、容器等数据。
docker run -d -p 9000:9000
--restart=always
-v /var/run/docker.sock:/var/run/docker.sock
--name prtainer-test
docker.io/portainer/portainer
该语句用宿主机9000端口关联容器中的9000端口,并给容器起名为portainer-test。执行完该命令之后,使用该机器IP:PORT即可访问Portainer。
访问方式:http://IP:9000
首次登陆需要注册用户,给admin用户设置密码:
单机版这里选择local即可,选择完毕,点击Connect即可连接到本地docker:
注意:该页面上有提示需要挂载本地 /var/run/docker.socker与容器内的/var/run/docker.socker连接。因此,在启动时必须指定该挂载文件。
首页:
容器列表:
点击容器列表中的容器名Name,即可查看容器详情:
并且在容器详情页可以使用该容器创建镜像:
镜像列表(在镜像列表可以直接pull一个镜像,可以从远程pull,也可以从私有库中pull。从私有库中pull,需要将私有库的地址提前进行配置,这个在后面会说):
点击镜像ID,即可查看镜像详情信息,在详情信息页面,除了镜像的一些信息外,还可以对该镜像进行打标签tag操作,然后将镜像push到远程仓库或者私有仓库中。
仓库管理页面(该界面可以查看配置的镜像仓库列表,同时可以添加仓库,添加成功之后,即可在image镜像页面进行pull、push操作。):
添加镜像仓库:
Portainer中还有一些别的操作,比如权限管理、网络管理等等,可以安装上进行了解学习。
更多的情况下,我们会有一个docker集群,可能有几台机器,也可能有几十台机器,因此,进行集群管理就十分重要了,Portainer也支持集群管理,Portainer可以和Swarm一起来进行集群管理操作。这里我首先搭建了一个Swarm。
Swarm集群的搭建方法可参考这篇文章:通过Swarm搭建Docker集群。
portainer集群方式启动(这里我喜欢通过简单启动的方式,然后在界面上进行节点的添加):
docker run -d -p 9000:9000 --restart=always --name prtainer-test docker.io/portainer/portainer
启动Portainer之后,首页还是给admin用户设置密码(这里和单机启动一样)。接下来是设置节点了,如下图:
这里我们选择Remote这个模块,下面会要求添加一个名字以及节点URL,名字可以自取,只要能够理解即可,Endpoint URL是Swarm集群中设置的节点URL,比如我机器IP是10.0.11.152,监听的端口是默认的2375,则这里的URL就写:10.0.11.152:2375。
如果是集群方式启动,建议portainer安装启动在Swarm管理节点,并且首次设置Endpoint URL时设置管理节点的URL。
填写完毕点击Connect即可进入管理页面。在管理页面左上角会显示管理的集群节点列表:
想要查看那个节点的信息,则点击节点即可。镜像、容器操作与单机模式下基本一样。这里只需要说下节点添加。
点击导航栏Endpoints进入节点列表页面:
从上图中一目了然就应该知道如何添加节点了,需要填写一个名字Name、Endpoint URL以及节点IP,就可以添加一个集群节点了,十分简单。