Docker图形化管理工具之Portainer

What is Portainer?
html

    Portainer是一款轻量级的图形化管理工具,经过它咱们能够轻松管理不一样的docker环境。Portainer部署和使用都很是的简单,它由一个能够运行在任何docker引擎上的容器组成。Portainer提供管理docker的containersimagesvolumes、networks等等。它兼容独立的docker环境和swarm集群模式。基本知足中小型单位对docker容器的管理工做。node

快速部署nginx

从仓库中查询Portainer相关镜像:
docker

[root@centos7 ~]# docker search portainer

拉取Portainer镜像到本地:
json

[root@centos7 ~]# docker pull portainer/portainer

查看本地主机上的镜像:image.png
centos

单机安装
浏览器

若是只有一个docker宿主机,能够使用如下命令安装:安全

[root@centos7 ~]# docker volume create portainer_data
[root@centos7 ~]# docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Swarm集群下安装bash

使用Portainer提供的代理安装程序在Swarm集群下部署:网络

[root@centos7 ~]# curl -L https://portainer.io/download/portainer-agent-stack.yml -o portainer-agent-stack.yml
[root@centos7 ~]#docker stack deploy --compose-file=portainer-agent-stack.yml portainer

更多场景下部署方法能够参考如下:https://portainer.readthedocs.io/en/stable/index.html

单机环境中安装完成以后,能够经过浏览机对9000端口进行访问。如:http://192.168.39.185:9000

首次登录须要注册用户:image.png

因为是单机环境下安装,选择local模式便可:

image.png

注意:该页面上有提示须要挂载本地 /var/run/docker.socker与容器内的/var/run/docker.socker链接。所以,在启动时必须指定该挂载文件。

进入首页能够查看到本地环境下docker相关的信息如容器,镜像等等。

image.png

点击“local“,查看本地docker相关信息:

image.png

点击“Containers”查看容器相关信息:

能够进行建立容器、启动、中止、删除等等操做很是的方便。image.png

点击“Name”,能够查看相关容器详细信息:

image.png

在容器列表页面下,点击“Add Containers”能够进行容器的建立:

输入相关信息点击“deploy the container”,能够根据已有的镜像快速建立容器:

image.png

浏览器打开刚才建立的nginx容器:

image.png

Portainer中还有不少对容器有意思的操做管理,诸如提供容器状态监控视图、容器状态日志、经过console登录容器等等。

Portainer中还有一些不少其余的操做,好比stacks管理、镜像管理、卷管理、权限管理、网络管理等等,能够安装上进行了解学习。

如镜像管理,能够查看到全部的镜像相关列表,在镜像列表能够直接pull一个镜像,能够从远程pull,也能够从私有库中pull。从私有库中pull,须要将私有库的地址提早进行配置。

Portainer多docker宿主机环境下管理

添加docker节点

首先在docker个节点中须要开启远程管理端口:2375或2376(支持ca认证,此端口较安全)

开启2375端口,可能致使安全漏洞的出现,如下有详细介绍:https://blog.csdn.net/ghostcloud2016/article/details/51539837

开启2376端口比较复杂,能够浏览如下:https://docs.docker.com/engine/security/https/

编辑/etc/docker/daemon.json,添加以下:

{
  "hosts": ["tcp://192.168.39.100:2375", "unix:///var/run/docker.sock"]
}

注意:192.168.39.100为docker所在宿主机ip

重启docker服务

# systemctl restart docker
Warning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.

能够查看到端口已经开放:image.png

在docker其余节点能够经过docker -H 192.168.39.100:2375 info命令查看到该节点docker相关信息。

点击Home页面下“add endportainer”添加该节点docker信息:

image.png

输入如下相关信息,点击“add endpoartainer”添加信息便可:

image.png

能够看到添加docker-node1节点成功:

image.png

image.png

添加各个docker节点完成,这样能够经过portainer对每一个节点下的docker环境进行相关的管理操做。

Portanier管理Swarm集群

Portainer管理swarm集群时,确保环境下已经设置好Swarm集群,若是没有设置能够参考Docker三剑客之Swarm

Master节点下安装Portainer服务:

[root@centos7 ~]# docker service create --name portainer --publish 9000:9000 --constraint 'node.role == manager' --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock portainer/portainer -H unix:///var/run/docker.sock
j6mzodyhsilp6i266w7d0i4ty
overall progress: 1 out of 1 tasks 
1/1: running   [==================================================>] 
verify: Service converged

查看Portainer服务:

[root@centos7 ~]# docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                        PORTS
j6mzodyhsilp        portainer           replicated          1/1                 portainer/portainer:latest   *:9000->9000/tcp

安装完成以后,打开浏览器输入http://{ip}:9000一样会出现登录密码的设置界:

设置完账号和密码,登录主界面,能够查看到swarm集群信息:

image.png

点击“Swarm”,能够查看到个集群节点信息:

image.png

点击“Image”,拉取一个nginx镜像:

image.png

在Services下建立nginx服务,这里建立4个副本,并将80端口映射出去,最后点击“Create Service”建立服务:image.png

查看service list 列表会发现,nginx服务已经建立成功:

image.png

浏览器中输入个节点ip地址,均可以看到nginx页面以下:

image.png





经过命令能够查看到nginx服务运行状态:

image.png

相关文章
相关标签/搜索