前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker Swarm学习笔记(二)

Docker Swarm学习笔记(二)

作者头像
小小科
发布2018-05-04 11:57:05
6100
发布2018-05-04 11:57:05
举报

搭建基础环境

官方文档中演示时用到了五台主机/虚拟机;

这里因为资源有限,只用三台;

创建虚拟机(可以用主机,也可以用虚拟机);

安装Ubuntu 16.04 Server amd64系统(系统版本最好不要低于Ubuntu 14.04);

开启并配置ssh服务(方便操作);

安装Docker(仅作参考,也可以根据下面的步骤操作);

Docker Registry搭建私有仓库点击预览 和 批量上传镜像到私有仓库(非必需,便于镜像快速复用);

启用root用户登录及SSH远程连接(包含失败情况的解决);

配置节点

接下来的所有操作都是以root用户进行的。

升级软件包(操作对象:manager0,node0,node1);

apt-get update && apt-get -y upgrade && apt-get -y install curl

安装Docker引擎(操作对象:manager0,node0,node1);

curl -sSL https://get.docker.com/ | sh

配置并启动Docker引擎,令其监听Swarm节点的2375端口(操作对象:node0,node1)

docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

配置发现后端

(操作对象:manager0)

前面已经列出了本次学习用到的三台主机的主机名以及其IP地址,下面的操作用到的IP也是这三个主机IP。

拉取镜像

docker pull progrium/consul

启动发现后端

docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap

创建Swarm集群

创建主管理员(操作对象:manager0)

docker run -d -p 4000:4000 swarm manage -H :4000 --replication --advertise 192.168.2.56:4000 consul://192.168.2.56:8500

因为这里的manager0既是主管理员又是发现服务后台,所以--advertise和consul的ip都是192.168.2.56。

配置节点(操作对象:node0,node1)

# 操作对象:node0(IP:192.168.2.77)docker run -d swarm join --advertise 192.168.2.77:2375 consul://192.168.2.56:8500# 操作对象:node1(IP:192.168.2.129)docker run -d swarm join --advertise 192.168.2.129:2375 consul://192.168.2.56:8500

获取主管理员和各节点的信息(操作对象:manager0):

docker -H :4000 info

使用集群

在集群中运行容器(操作对象:manager0):

docker -H :4000 run hello-world

通过多次重复上面的操作出现了下面的结果,主管理员在两个节点上创建的容器的数量趋于相等(这里运行的容器是跑的一个core api demo,如果运行的是上面的指令,状态应该是Exited)。

主管理员操作节点的容器:

# 查看集群节点的容器列表docker -H :4000 ps# 删除容器docker -H :4000 rm -f ContainerID# 启/停容器docker -H :4000 start/stop/restart ContainerID

与直接操作的区别就是docker后面加了-H :4000

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档