如何安装
安装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系列视频
【开发的日常】Ubuntu安装Docker私服Registry