title: Docker系列之(十一):可视化管理Portainer安装和汉化
categories: Docker
tags:
- Docker
timezone: Asia/Shanghai
date: 2019-02-25

环境

[root@centos181002 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

[root@centos181002 ~]# docker -v
Docker version 18.09.1, build 4c52b90

docker pull portainer/portainer:1.20.1
docker pull portainer/portainer:latest@sha256:ac9aeaf784962573baf26c03cd9709114d7fbfe7e5bd690b1f8e3b46642e67ea

简介

Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

支持Docker Swarm

支持模块

  • 堆栈管理
    堆栈列表 - 名称、类型、控制、所有者
    名称、使用镜像、调度模式、发布端口、最后更新
    运行节点等详细信息
  • 服务管理
    服务列表 - 服务名称、隶属堆栈、使用镜像、调度模式、发布端口、最后更新、所有者
    删除服务
    添加服务
  • 容器管理
    容器列表 - 容器名称、运行状态、隶属堆栈、使用镜像、创建时间、IP地址、所在node、发布端口、所有者信息
    查看容器日志
    获取容器元数据
    容器状态 - 内用、CPU、网络使用情况、容器内进程列表
    直接进入容器控制台
    开始、停止、Kill、重启、暂停、恢复暂停、删除和添加容器
  • 镜像管理
    拉取镜像
    删除镜像
    镜像列表
    通过Dockerfile生成镜像
    已有镜像是否在使用
  • 网络管理
    网络列表
    创建网络
    删除网络
  • 卷管理
    卷列表
    删除卷
    创建卷
    卷标签管理
    显示已有卷是否被容器使用、或被某个容器使用
    浏览卷文件,并可直接下载、改名和删除卷文件
  • Config管理
  • Secrets管理
  • Swarm管理面板
    显示所有节点信息、版本、CPU、内存、IP、状态信息
    每个节点上运行容器显示
  • 用户和团队权限管理
  • 端点管理
  • 仓库管理

第一步:使用

docker stack deploy方式启动Portainer容器

https://www.portainer.io/installation/

  • 此方法需要在Docker Swarm mode管理节点启动
  • 会自动部署agent到每个node,如果新增节点也会在新增节点部署agent
  • - /home/linshi/public/js:/public/js这里我增加了,是对页面的汉化,汉化文件见附录
  • 会自动在/var/lib/docker/volumes目录创建portainer_data卷,用来持久化数据,可以根据自己情况自定义这里的设置

1.编辑yml文件

cat <<EOF >portainer-agent-stack.yml 
version: '3.2'

services:
  agent:
    image: portainer/agent
    environment:
      # REQUIRED: Should be equal to the service name prefixed by "tasks." when
      # deployed inside an overlay network
      AGENT_CLUSTER_ADDR: tasks.agent
      # AGENT_PORT: 9001
      # LOG_LEVEL: debug
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
    networks:
      - agent_network
    deploy:
      mode: global
      placement:
        constraints: [node.platform.os == linux]

  portainer:
    image: portainer/portainer
    command: -H tcp://tasks.agent:9001 --tlsskipverify
    ports:
      - "9000:9000"
    volumes:
      - /home/linshi/public/js:/public/js
      - portainer_data:/data
    networks:
      - agent_network
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]

networks:
  agent_network:
    driver: overlay
    attachable: true

volumes:
  portainer_data:
EOF

2.启动容器堆栈

docker stack deploy --compose-file=portainer-agent-stack.yml portainer

3.打开以下地址管理

http://11.11.11.61:9000