使用GUI工具Portainer.io管控Docker容器

背景

5年前容器技术扑面而来,如今已经成为面向云原生开发的基础架构,基于微服务的设计需要部署大量容器,同时强调了友好快速的管理容器。

是时候推荐一个轮子Portainer.io:提供GUI界面的容器管理工具,给开发者的工具箱又增加了一个炫酷又实用的瑞士军刀。

Portainer.io的优势

  • 轻量级 (2,3个命令就可启动,镜像少于30M)
  • 健壮、 友好
  • 可以用于Docker监控和构建
  • 提供Docker环境的详细信息
  • 可在界面管理 Container、Image、Network、Volume、Config

Portainer.io特性

  • 漂亮的Dashboard,很容器操作和监视
  • 许多内置的操作模板
  • 尽乎实时的 监视Container、Image...
  • 支持Docker-Swarm 集群监视

安装Portaniner.io

为Porttainer.io 创建Volume

sudo docker volume create portainer_data

启动portainer容器,配置在宿主机9000端口映射

sudo docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainerUnable to find image 'portainer/portainer:latest' locallylatest: Pulling from portainer/portainerd1e017099d17: Pull completef4f2fd75fb8a: Pull completeDigest: sha256:026381c60682b82a863f0c3737a9b4a414beaddd4cf050477a7749ff5ac61189Status: Downloaded newer image for portainer/portainer:latest82756791026adda45c288ca465ef38ca2e2aefaad2b27da6ae3831a517db4ad8

请确保OS防火墙允许9000端口访问


睁眼看Portainer.io

  1. 首次访问请注册用户

使用GUI工具Portainer.io管控Docker容器

  1. 我是在Docker宿主机上安装的portainer.io,故我选择Local

使用GUI工具Portainer.io管控Docker容器

  1. 概览如下:

使用GUI工具Portainer.io管控Docker容器

  1. 点击任意一个红框对象,进入‘Dashboard Endpoint summary’

使用GUI工具Portainer.io管控Docker容器

简单的Docker监控

  • 在Container标签页使用container命令操作测试容器:

使用GUI工具Portainer.io管控Docker容器

这个页面会显示所有的容器,包括Stopped,可使用docker system prune  -a:Remove all unused images not just dangling ones

点击每个容器,可进入查看容器的详细信息:Container status/Container health/Container details/Connected networks/Volumes

  • Image标签页,这里显示所有Image,这类可以拉取、构建、导入导出镜像

使用GUI工具Portainer.io管控Docker容器

  • 根据模板快速创建服务堆栈 点击‘'App Template’, 进入容器构建页面。选择WordPress模板

使用GUI工具Portainer.io管控Docker容器

  • 操作之后,可生成新的服务堆栈:

使用GUI工具Portainer.io管控Docker容器

是不是很6,这个服务堆栈已经使用WordPress模板预置,配置详情查看Update页面设定的远程docker-stack.yml地址:https://github.com/portainer/templates/blob/master/stacks/wordpress/docker-stack.yml

version: '3'services:   db:     image: mysql:5.7     volumes:       - db_data:/var/lib/mysql     restart: always     environment:       MYSQL_ROOT_PASSWORD: ${MYSQL_DATABASE_PASSWORD}       MYSQL_DATABASE: wordpress       MYSQL_USER: wordpress       MYSQL_PASSWORD: wordpress
   wordpress:     image: wordpress:latest     ports:       - 80     restart: always     environment:       WORDPRESS_DB_HOST: db:3306       WORDPRESS_DB_USER: wordpress       WORDPRESS_DB_PASSWORD: wordpress
volumes:    db_data:

其他Stack、Service、Network、Volume、Config请自行倒腾, 外围配置Extension,Registries 可配置安全特性和 镜像注册中心。

以上就是本文的全部内容,希望这个Portainer GUI文章有助于您更有效地管理和监视容器。真诚的希望得到您的反馈。