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

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. 【BZOJ4916】神犇和蒟蒻 解题报告

    [BZOJ4916]神犇和蒟蒻 Description 很久很久以前,有一群神犇叫sk和ypl和ssr和hjh和hgr和gjs和yay和xj和zwl和dcx和lyy和dtz和hy和xfz和myh和yw ...

  2. Android Studio 换主题(Material Theme..)

    1.去如下网址下载自己喜欢的主题文件xx.jar http://color-themes.com/?view=index 2. 导入方式 下载主题—xxx.jar 注意:如果我们下载下来的jar名字如 ...

  3. python小专题——urllib2模块

    Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib2 这个 HTTP 客户端库.这里总结了一些 urllib2 库的使用细节. 1 P ...

  4. (二)C语言文本流和二进制流的区别

    转至:http://www.cnblogs.com/xiangzi888/archive/2011/11/10/2244336.html 一.首先回答,什么是文件,流 一个文件通常就是磁盘上的一段命名 ...

  5. 300. Longest Increasing Subsequence_算法有误

    300. Longest Increasing Subsequence 300. Longest Increasing Subsequence Given an unsorted array of i ...

  6. SPOJ BALNUM Balanced Numbers (数位dp)

    题目:http://www.spoj.com/problems/BALNUM/en/ 题意:找出区间[A, B]内所有奇数字出现次数为偶数,偶数字出现次数为计数的数的个数. 分析: 明显的数位dp题, ...

  7. string 中的一些优化事项

    1.1 fmt  vs  "+" (无转义) import ( "testing" "fmt" ) var ( str = "he ...

  8. P3924 康娜的线段树

    P3924 康娜的线段树 题目描述 小林是个程序媛,不可避免地康娜对这种人类的"魔法"产生了浓厚的兴趣,于是小林开始教她OI. 今天康娜学习了一种叫做线段树的神奇魔法,这种魔法可以 ...

  9. Ubuntu14.04 Tab键自动补全

    Unbuntu14.04 终端中使用Tab键不能自动补全 解决方案 1.利用vi编辑器打开 /etc/bash.bashrc文件(需要root权限) sudo vi /etc/bash.bashrc ...

  10. Linux Ubuntu下安装配置mysql

    检查系统中是否已经安装了mysql: sudo netstat -tap | grep mysql 安装mysql: sudo apt-get install mysql-server sudo ap ...