使用DockerMachine&DockerSwarm集群部署微服务

如何安装

安装VirtualBox

apt install virtualbox

安装DockerMachine

# https://docs.docker.com/machine/install-machine/

base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
  sudo install /tmp/docker-machine /usr/local/bin/docker-machine

创建Docker节点虚拟机

docker-machine create --driver virtualbox swarm-manager
docker-machine create --driver virtualbox swarm-node1
docker-machine create --driver virtualbox swarm-node2

Swarm集群初始化

docker-machine ssh swarm-manager
docker swarm init --advertise-addr=192.168.99.100

加入Swarm集群

docker-machine ssh swarm-node1
docker swarm join --token SWMTKN-1-3pbriaf2jvkgco6i0yzbfo1vdgg8xudv6jlhdsu77rbja8m17i-54gwjg1mhziigwk2vwzsr6os2 192.168.99.100:2377

docker-machine ssh swarm-node2
docker swarm join --token SWMTKN-1-3pbriaf2jvkgco6i0yzbfo1vdgg8xudv6jlhdsu77rbja8m17i-54gwjg1mhziigwk2vwzsr6os2 192.168.99.100:2377

docker-machine ssh swarm-manger
docker node ls

创建Visualizer服务

docker-machine ssh swarm-manger

docker service create \
--name=viz \
--publish=8081:8080/tcp \
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
dockersamples/visualizer:latest

#ngixn反向代理,映射一下8081端口
#启动nginx
#浏览器打开http://ubuntu0:8081

修改daemon.json

# 修改manager的/etc/docker/daemon.json
docker-machine ssh swarm-manager
vim /etc/docker/daemon.json
{
  "insecure-registries": ["sand.com:5000"]
}

# 修改node1的/etc/docker/daemon.json
...
# 修改node2的/etc/docker/daemon.json
...

Swarm重启

docker-machine stop swarm-node1
docker-machine start swarm-node1

docker-machine stop swarm-node2
docker-machine start swarm-node2

docker-machine stop swarm-manager
docker-machine start swarm-manager

修改/etc/hosts

# 修改manager的/etc/hosts
docker-machine ssh swarm-manager
vim /etc/hosts
192.168.202.132 sand.com

# 修改node1的/etc/hosts
...
# 修改node2的/etc/hosts
...

创建微服务

docker-machine ssh swarm-manager
docker service create \
--no-resolve-image \
--name 51token \
-p 8000:8000/tcp \
-e JAVA_OPTS="-Dspring.profiles.active=prd" \
-e SERVER_PORT="8000" \
-e REDIS_HOST="192.168.202.131" \
sand.com:5000/51token:1.0

负载均衡高可用

docker-machine ssh swarm-manager
docker service scale 51token=3

执行微服务接口

#ngixn反向代理,映射一下8080端口
#重启nginx
#浏览器打开http://ubuntu0:8000/health_check

#浏览器打开http://ubuntu0:8081

视频地址

【开发的日常】DockerMachine&DockerSwarm

之前做的Docker系列视频

【开发的日常】使用Docker安装Mysql

【开发的日常】Ubuntu安装Docker私服Registry

【开发的日常】使用Docker部署微服务SpringCloud

【开发的日常】Docker部署微服务SpringCloud消息总线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值