设为首页 收藏本站
查看: 1412|回复: 0

[经验分享] Docker图形化管理工具之Portainer

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2019-2-21 06:42:56 | 显示全部楼层 |阅读模式
  What is Portainer?

      Portainer是一款轻量级的图形化管理工具,通过它我们可以轻松管理不同的docker环境。Portainer部署和使用都非常的简单,它由一个可以运行在任何docker引擎上的容器组成。Portainer提供管理docker的containersimagesvolumes、networks等等。它兼容独立的docker环境和swarm集群模式。基本满足中小型单位对docker容器的管理工作。
  快速部署
  从仓库中查询Portainer相关镜像:


[root@centos7 ~]# docker search portainer拉取Portainer镜像到本地:


[root@centos7 ~]# docker pull portainer/portainer查看本地主机上的镜像:

单机安装

如果只有一个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/portainerSwarm集群下安装
使用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
  首次登陆需要注册用户:
  由于是单机环境下安装,选择local模式即可:

  注意:该页面上有提示需要挂载本地 /var/run/docker.socker与容器内的/var/run/docker.socker连接。因此,在启动时必须指定该挂载文件。
  进入首页可以查看到本地环境下docker相关的信息如容器,镜像等等。
  
  点击“local“,查看本地docker相关信息:

  点击“Containers”查看容器相关信息:
  可以进行创建容器、启动、停止、删除等等操作非常的方便。
  点击“Name”,可以查看相关容器详细信息:

  在容器列表页面下,点击“Add Containers”可以进行容器的创建:
  输入相关信息点击“deploy the container”,可以根据已有的镜像快速创建容器:

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

  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.可以查看到端口已经开放:
在docker其他节点可以通过docker -H 192.168.39.100:2375 info命令查看到该节点docker相关信息。
点击Home页面下“add endportainer”添加该节点docker信息:

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

可以看到添加docker-node1节点成功:


添加各个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集群信息:

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


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

  在Services下创建nginx服务,这里创建4个副本,并将80端口映射出去,最后点击“Create Service”创建服务:
  查看service list 列表会发现,nginx服务已经创建成功:

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

  通过命令可以查看到nginx服务运行状态:





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674996-1-1.html 上篇帖子: Docker之容器互联实现容器间通信 下篇帖子: 微服务Docker到Kubernetes之技术实战,Docker原理与架构,Docker构建微服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表