===============================================

2019/4/30_第6次修改                       ccb_warlock

更新说明:

2019/4/30:修改了local英文拼写错误的问题;

2019/4/16:修改了2.1创建目录不正确的问题;

2019/4/10:调整了docker、docker compose的部署方法的引用;

2019/4/6:优化了run、compose、stack的部署方式;

2018/8/3:删除2.1中无用的目录创建命令;

对2.2.2中对容器的资源限制进行扩容;

===============================================

部署完swarm(http://www.cnblogs.com/straycats/p/8978135.html)之后,寻找可以管理swarm的web系统方便管理,经过使用portainer可以满足对swarm的基本管理,而且该项目github上的收藏也较多。


一、前提


二、部署portainer

2.1 创建目录

mkdir -p /opt/compose/portainer
mkdir -p /usr/docker-vol/portainer/data

PS.由于方便持久化文件定位,这里使用目录映射而不是卷映射来做数据持久化

2.2 创建网络

# 本地用的network

docker network create \
--driver=bridge \
--subnet=172.11.0.0/16 \
--ip-range=172.11.0.0/16 \
--gateway=172.11.0.1 \
--attachable \
local-net

# swarm用的network

docker network create \
--driver=overlay \
--subnet=172.12.0.0/16 \
--ip-range=172.12.0.0/16 \
--gateway=172.12.0.1 \
--attachable \
swarm-net

2.3 创建portainer容器

2.3.1 run方式

# 创建容器portainer

docker run -d \
--name portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/docker-vol/portainer/data:/data \
-p 9000:9000 \
--network local-net \
--cpus 0.5 \
--memory 200M \
--restart on-failure \
portainer/portainer

PS.如果需要移除该容器,可以使用命令

docker stop portainer
docker rm portainer

2.3.2 compose方式

# 编辑docker-compose.yml

vi /opt/compose/portainer/docker-compose.yml

将下面的内容添加到docker-compose.yml内,wq保存。

version: '3'
services: portainer:
image: portainer/portainer
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/docker-vol/portainer/data:/data
ports:
- 9000:9000
networks:
- local-net networks:
local-net:
external: true

# 创建容器portainer

cd /opt/compose/portainer
docker-compose up -d

PS.如果需要移除该compose文件创建的所有容器,可以使用命令

cd /opt/compose/portainer
docker-compose down

2.3.3 stack方式

# 编辑portainer-stack.yml

vi /opt/compose/portainer/portainer-stack.yml

将下面的内容添加到portainer-stack.yml内,wq保存。

version: '3.4'
services: portainer:
image: portainer/portainer
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/docker-vol/portainer/data:/data
deploy:
placement:
constraints: [node.role == manager]
replicas: 1
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.5"
memory: 200M
update_config:
parallelism: 1
delay: 5s
monitor: 10s
max_failure_ratio: 0.1
order: start-first
ports:
- 9000:9000
networks:
- swarm-net networks:
swarm-net:
external: true

# 创建portainer-stack

cd /opt/compose/portainer
docker stack deploy -c portainer-stack.yml portainer-stack

PS.如果需要移除该stack创建的所有service,可以使用命令

docker stack rm portainer-stack

三、配置portainer

3.1 访问页面

浏览器访问 https://192.168.12.11:9000

填写8位以上密码,创建管理员用户。进入系统后可以再修改8位以内的密码。(某个版本更新后改成了8位以上的要求,坑啊)

选择“Local”,点击“Connect”。

3.2 添加镜像仓库

为了方便部署,swarm可以通过portainer的stacks来部署容器,故需要配置需要拉取的镜像仓库。

左侧导航栏选择“Registries”,点击“Add registry”,填写镜像仓库的名称、URL、管理员的账号/密码。

由于拉取的仓库是我内部搭建的私有仓库,故选择“Custom registry”,填写仓库信息。


参考资料:

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

docker 部署 portainer(http)的更多相关文章

  1. Docker 部署 portainer

    Docker 部署 portainer 环境: docker 版本 :18.09.1 主机地址:192.168.1.81 一.部署 porttainer 1.修改docker配置文件,开放端口. vi ...

  2. Docker部署Portainer搭建轻量级可视化管理UI

    1. 简介   Portainer是一个轻量级的可视化的管理UI,其本身也是运行在Docker上的单个容器,提供用户更加简单的管理和监控宿主机上的Docker资源. 2. 安装Docker   Doc ...

  3. Ubuntu下部署Portainer管理docker

    在上一篇文章中,我们部署了Shipyard来管理docker集群,总体比较简单,而且Shipyard界面风格很简约,还是比较喜欢的,但是正如提出的node节点无法显示bug,以及该项目早已停止维护,让 ...

  4. 二、Docker部署应用

    一.有关Docker的安装请参考docker官网  Docker 提供了两个版本:社区版 (CE) 和企业版 (EE). Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并 ...

  5. Docker(二十四)-Docker使用Portainer搭建可视化界面

    Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...

  6. Linux下Docker以及portainer相关配置

    一.安装使用Docer CE 本文以CentOS 7为例,安装docker CE版本,docker有两种版本,社区版本CE和企业版本EE,此处学习研究以CE版本为例, 两种安装方式可选:1.使用yum ...

  7. docker 的Portainer和Dive

    Portainer Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台操作 ...

  8. Docker搭建Portainer

    1.介绍 Docker 图形化管理提供了很多工具,有Portainer.Docker UI.Shipyard等等,本文主要介绍Portainer. Portainer是一个开源.轻量级Docker管理 ...

  9. Docker使用Portainer搭建可视化界面

    Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...

随机推荐

  1. 《Linux内核分析》期末总结及学习心得

    [洪韶武 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ] 一.学习心得 本学 ...

  2. 第一章:CDib类库的建立

    VC++图像处理程序设计(第1版)    杨淑莹 编著     边奠英 主审 第一章 位图基础 Joanna-In-Hdu&Hust 手工打,印象更深刻 使用工具 VS2010 mfc  整本 ...

  3. 【树上莫队】【SP10707】 COT2 - Count on a tree II

    Description 给定一棵 \(n\) 个点的树,每个节点有一个权值,\(m\) 次询问,每次查询两点间路径上有多少不同的权值 Input 第一行是 \(n\) 和 \(m\) 第二行是 \(n ...

  4. YY淘宝商品数据库设计

    http://www.cnblogs.com/mmmjiang13/archive/2010/11/04/1868609.html 前言 这几个月都在做一个通过淘宝API线下管理淘宝店的系统,学习了很 ...

  5. python学习(21) smtp发送邮件

    原文链接: https://www.jianshu.com/p/369ec15bfe22 本文介绍python发送邮件模块smtplib以及相关MIME模块.smtplib用于生成邮件发送的代理,发送 ...

  6. 【Asp.net入门11】第一个ASP.NET 应用程序-创建摘要视图

    目前已经完成了应用程序的基本结构单元,受邀者也能够做出回复.这一节将添加一个支持组件,以显示收到的回复摘要,以便用户的朋友了解谁会参加晚会,并做出适当安排.在Solution Explorer中右键单 ...

  7. Selenium--使用参考

    Selenium--浏览器上的按键精灵 Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可 ...

  8. Guava之CaseFormat

    com.google.common.base.CaseFormat是一种实用工具类,以提供不同的ASCII字符格式之间的转换. 其对应的枚举常量 从以上枚举中可以看出,java程序员最常用的转换类型为 ...

  9. python 生成器和迭代器介绍

    在正式接触生成器之前,我们先来了解一些概念 容器(container) 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个迭代获取,可以用in.not in关键字判断元素是否包含在容器中. ...

  10. [spark]-Spark2.x集群搭建与参数详解

    在前面的Spark发展历程和基本概念中介绍了Spark的一些基本概念,熟悉了这些基本概念对于集群的搭建是很有必要的.我们可以了解到每个参数配置的作用是什么.这里将详细介绍Spark集群搭建以及xml参 ...