1.swarm安装

swarm安装有很多种服务注册的方式,token、etcd、zookeeper,本文主要以swarm默认的token方式进行安装。因为最新的docker已经集成了swarm,所以从安装docker开始,本文所用操作系统为ubuntu14.04。

IP           name     service

10.241.81.233 swarm-1  manage

10.241.81.234 swarm-2  worker

10.241.81.235 swarm-3  worker

参考文档:https://store.docker.com/editions/community/docker-ce-server-ubuntu

(1).set up the repository

sudo apt-get -y install \
apt-transport-https \
ca-certificates \
curl curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update

(2)Install the latest version of Docker CE on Ubuntu:

sudo apt-get -y install docker-ce

(3)Run the following command to create a new swarm:

(参考:https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/)

mananger:
# docker swarm init --advertise-addr 10.241.81.233
Swarm initialized: current node (cpds4fjp7vv6ttqm4y77vmhae) is now a manager. To add a worker to this swarm, run the following command: docker swarm join \
--token SWMTKN--5gmmq1w6qsm2zm3wfjkx5at3j2a5mwy1k0qjfp16womwgkqeqj-4ttti9ppo6aqebuw4b1m46vo7 \
10.241.81.233: To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions. worker:
docker swarm join \
--token SWMTKN--5gmmq1w6qsm2zm3wfjkx5at3j2a5mwy1k0qjfp16womwgkqeqj-4ttti9ppo6aqebuw4b1m46vo7 \
10.241.81.233:

在manage上执行docker node ls,查看node的状态:

# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
7gzxsm1kmzf92bz8tply3j6dj swarm- Ready Active
cpds4fjp7vv6ttqm4y77vmhae * swarm- Ready Active Leader
ejrnqul66xm1xy62ankhuhvn1 swarm- Ready Active

2.安装register及register-web (参考:https://hub.docker.com/r/hyper/docker-registry-web/)

docker run -itd --restart=always -p : --name registry-srv registry:2

docker run -idt  --restart=always  -p 8090:8080 --name registry-web --link registry-srv -e REGISTRY_URL=http://10.241.81.233:5000/v2 -e REGISTRY_NAME=localhost:5000 

可以访问register-web,http://10.241.81.233:8090。

修改配置docker配置文件,在DOCKER_OPTS加入--insecure-registry=10.241.81.233:5000,我的原先为空,所以改后状态如下:

# vi /etc/default/docker

DOCKER_OPTS="--insecure-registry=10.241.81.233:5000"

重启docker 就 可以往registerpush镜像了。

3.shipyard安装方式有俩种,一种是脚本,一种是手动,这里选择的脚本安装。

(参考:https://shipyard-project.com/docs/deploy/)

shipyard界面:

curl -sSL https://shipyard-project.com/deploy | bash -s

然后访问 http://10.241.81.233:8080  就有界面了。

如果需要加入新的节点:

curl -sSL https://shipyard-project.com/deploy | ACTION=node DISCOVERY=etcd://10.241.81.233:4001 bash -s

就能看到有多个节点了,如下图:

也可把register加进去管理:

整个安装部署到此就结束了,后续监控也可以用prometheus收集cadvisor监控swarm的集群状态。

docker swarm+register-web+shipyard搭建的更多相关文章

  1. Docker Swarm redis 集群搭建

    Docker Swarm redis 集群搭建 环境1: 系统:Linux Centos 7.4 x64 内核:Linux docker 3.10.0-693.2.2.el7.x86_64 Docke ...

  2. Docker Swarm nginx 集群搭建

    环境1: 系统:Linux Centos 7.4 x64 内核:Linux docker 3.10.0-693.2.2.el7.x86_64 Docker 版本:18.09.1 redis 版本:ng ...

  3. Docker Swarm 集群环境搭建及弹性服务部署

    上一篇文章<Docker Swarm 集群管理利器核心概念扫盲>中我们把 Swarm 重要的概念性知识给大家讲解了一波,理论完事就该实战了,这篇文章带大家从零开始,搭建 Docker Sw ...

  4. docker swarm使用keepalived+haproxy搭建基于percona-xtradb-cluster方案的高可用mysql集群

    一.部署环境 序号 hostname ip 备注 1 manager107 10.0.3.107 centos7;3.10.0-957.1.3.el7.x86_64 2 worker68 10.0.3 ...

  5. docker swarm集群搭建及使用Portainer、shipyard

    一.规划 1.swarm01作为manager节点,swarm02和swarm03作为worker节点. # cat /etc/hosts 127.0.0.1   localhost 192.168. ...

  6. 【云计算】Docker集中化web界面管理平台shipyard

    Docker集中化web界面管理平台shipyard docker shipyard seanlook                        2015年01月05日发布             ...

  7. docker集成管理工具-shipyard的开发环境搭建笔记

    前段时间一直在研究openstack,后来老师告诉我需要用docker容器来搭建hadoop集群,所以就将战场转移到docker上来了,话说docker最近这段时间太火了,但是说实话我觉得应用起来还不 ...

  8. Docker 入门之swarm部署web应用

    笔者近期在利用的docker搭建一个swarm集群,目前的应用还是入门级的,读者可自行根据自己的需要修改自己需要部署的应用,今天笔者介绍的是一个web应用的swarm集群的搭建.看这篇文章之前,我希望 ...

  9. Docker集中化web界面管理平台-Shipyard部署记录

    Docker图形页面管理工具基本常用的有三种: DOCKER UI,Shipyard,Portainer.对比后发现,Shipyard最强大,其次是Portainer,最后是Docker ui.之前介 ...

随机推荐

  1. 【转】优秀PMP项目经理必备的8个要素

    结合本人这几年在项目管理上的总结和得失,本人认为优秀的项目经理要有 责任心.要 善于沟通.能 引导客户.能 预测风险. 善于总结. 随需应变.善于 激励团队.同时也要 懂技术. 责任心 作为项目经理首 ...

  2. Storm快速理解

    转自:http://blog.csdn.net/colorant/article/details/8256039 更多云计算相关项目快速理解文档  http://blog.csdn.net/color ...

  3. Java 构造方法的执行过程(猜测)

    先说明一点,这篇帖子的内容都是我自己思考的结果,如有误,请务必及时告诉我,非常感谢. 起由: public class NewThread implements Runnable{ Thread t; ...

  4. csv导入mysql提示错误[Error Code] 1290 - The MySQL server is running with the --secure-file-priv option

    解决方法: 1.进入mysql查看secure_file_prive的值 mysql>SHOW VARIABLES LIKE "secure_file_priv"; secu ...

  5. ubuntu 系统网络突然"网络已禁用"

    sudo service network-manager stop  sudo rm /var/lib/NetworkManager/NetworkManager.state  sudo servic ...

  6. linux -- 修改文件

    vi编辑器有三种模式:命令模式,编辑模式,末行模式 打开vi后首先是命令模式,用i,o,a等进入编辑模式, 按esc退出编辑模式,回到命令模式. 在命令模式下输入:wq表示保存退出,:wq!强制保存退 ...

  7. PHP json_decode 无法解析特殊问号字符

    在通过别人接口请求信息的时候,偶尔会遇到由于部分字符,如以下情况,则通过json_decode是会返回null的 但是这种情况通常不是由于整体编码的问题,因为在解析的时候就是以utf-8的编码解析的 ...

  8. js正则表达式的应用

    JavaScript表单验证email,判断一个输入量是否为邮箱email,通过正则表达式实现. //检查email邮箱 function isEmail(str){ var reg = /^([a- ...

  9. 基于nodejs的开源博客

    https://github.com/hexojs/hexo https://hexo.io/zh-cn/docs/ markdown编辑器 http://pandao.github.io/edito ...

  10. 分布式缓存设计:一致性Hash算法

    缓存作为数据库前的一道屏障,它的可用性与缓存命中率都会直接影响到数据库,所以除了配置主从保证高可用之外还需要设计分布式缓存来扩充缓存的容量,将数据分布在多台机器上如果有一台不可用了对整体影响也比较小. ...