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

背景 5年前容器技术扑面而来,如今已经成为面向云原生开发的基础架构,基于微服务的设计需要部署大量容器,同时强调了友好快速的管理容器。 是时候推荐一个轮子Portainer.io: 提供GUI界面的容器管理工具 ,给开发者的工具箱又增加了一个炫酷又实用的瑞士军刀。 Portainer.io的优势 轻量级 (2,3个命令就可启动,镜像少于30M) 健壮、 友好 可以用于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/portainer

Unable to find image ‘portainer/portainer:latest‘ locally

latest: Pulling from portainer/portainer

d1e017099d17: Pull complete

f4f2fd75fb8a: Pull complete

Digest: sha256:026381c60682b82a863f0c3737a9b4a414beaddd4cf050477a7749ff5ac61189

Status: Downloaded newer image for portainer/portainer:latest

82756791026adda45c288ca465ef38ca2e2aefaad2b27da6ae3831a517db4ad8

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

睁眼看Portainer.io

  1. 首次访问请注册用户 技术分享图片
  2. 我是在Docker宿主机上安装的portainer.io,故我选择Local 技术分享图片
  3. 概览如下: 技术分享图片
  4. 点击任意一个红框对象,进入‘Dashboard Endpoint summary’ 技术分享图片

简单的Docker监控

  • 在Container标签页使用container命令操作测试容器: 技术分享图片

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

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

  • Image标签页,这里显示所有Image,这类可以拉取、构建、导入导出镜像 技术分享图片
  • 根据模板快速创建服务堆栈 点击‘‘App Template’, 进入容器构建页面。 选择WordPress模板 技术分享图片 操作之后,可生成新的服务堆栈: 技术分享图片

“是不是很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 可配置安全特性和 镜像注册中心。

知秋君
上一篇 2024-07-03 15:30
下一篇 2024-07-03 15:30

相关推荐