ECS配置Docker-swarm

实现在本机使用docker machine实现swarm创建和节点管理。

准备:

    本机docker machine

     ecs-swarm-1

     ecs-swarm-2

    对已安装docker的ECS ecs-swarm-1实例进行自定义镜像制作,阿里的管理控制台一键完成

    再购买一台ECS实例,采用刚刚制作的自定义镜像,命名为es-swarm-2
    在本机安装docker machine,我的系统是Mac OS,直接下载dmg安装

    如果需要安装最新版docker,参考这篇文章

1、设置ssh免密登录

将本机公钥配置到es-swarm-1的authorized_key中

ssh-copy-id root@xxx.xxx.xxx.xxx

把xxx.xxx.xxx.xxx分别替换为ecs-swarm-1的ip地址。

如果上述命令不可用,执行下面的命令:

cat ~/.ssh/id_rsa.pub | ssh root@139.196.100.224 "umask 077; mkdir -p .ssh ; cat >> .ssh/authorized_keys"
FYI

2、关联远程node创建machine实例

通过docker-machine的generic实现分别关联远程ecs-swarm-1、ecs-swarm-2创建machine实例:

docker-machine create --driver generic \
  --generic-ip-address=123.56.164.29 \
  --generic-ssh-user=root  \
  --generic-ssh-key ~/.ssh/id_rsa \
  ecs-swarm-1

将上述ip地址替换即可。使用下列命令看是否成功。

docker-machine ls


如1、2步骤,将ecs-swarm-2配置好。

swarm初始化,es-swarm-2做manager:

docker-machine ssh ecs-swarm-2
登录到ecs-swarm-2。

然后执行manager的创建命令:

docker swarm init --advertise-addr 10.170.232.185

返回的token一定要记住!当添加节点到manager时需要用到token。

退出ecs-swarm-2,登录ecs-swarm-1,执行:

docker swarm join \
    --token SWMTKN-1-5jkrh4prvhqr8cuxtdls855x9m6eh4ctelrv54x57l7k93l9ui-d1o513j050bipt3jv6d3ibh9o \
    10.170.232.185:2377
结果:


此时节点就已经作为worker存在了。退出worker(ecs-swarm-1),登录manager(ecs-swarm-2)节点。通过下列命令查看节点状态:


操作成功。

如果我们在dockerHub有自己的仓库并且push过镜像的话,那么就可以在manager节点开启服务。

docker service create -p 3000:3000 --name webservice tcl012812/webservice

查看服务信息明细:





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值