各服务间默认走的vip的负载均衡的方式,dnsrr需要指定
可通过
docker service inspect lhb_service(服务名)
然后看打开文件下方:
"EndpointSpec": {
"Mode": "dnsrr"
}
1.创建自定义网络
docker netwrok create -d overlay lhb-overlay
2.查看docker 服务
docker service ls
3.删除docker服务
docker service rm 服务名1 服务名2
4.创建docker服务使用自定义网络
docker service create --network lhb-overlay --name nginx -p 8080:80 --detach=false nginx
docker service create --network lhb-overlay --name alpine -p 8080:80 --detach=false alpine ping www.baidu.com
5.修改服务,以网络为例
docker service update --network lhb-overlay --detach=false nginx-b
6.查看服务运行 实例 alpine是一个非常小的linux,小到没有bash,只有sh
docker service ps alpine(服务名)
7.查看服务详细
docker service inspect alpine
8.dnsrr是服务内部以服务名称进行访问 ,外部不可访问
各服务间,只要不想被外部访问的,可以指定#endpoint-mode: "dnsrr"
9.给一堆的Service组成一个stack ,docker stack ,真实环境一般都用这种方式
9.1 需要先定义一个类似docker-compose.yml文件,叫service.yml,如:
version: "3.4"
services:
alpine:
img: alpine
command:
- "ping"
- "www.baidu.com"
networks:
- "lhb-overlay"
deploy:
#endpoint-mode: "dnsrr" #可在部署下设置网络类型
replicas: 2
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.1"
memery: 50M
depends_on:
-nginx
nginx:
image: nginx
networks:
- "lhb-overlay"
ports:
- "8080:80"
networks:
lhb-overlay:
external: true #代表这个网络是外部(上面定义好的)
9.2 使用docker stack deploy去部署上面的文件
docker stack deploy -c service.yml lhb_service(起个名字)
9.3 使用docker stack 查看部署的服务
docker stack services lhb_service
或者
docer service ls
10.查看当前机器上的监听端口,来查看各个服务的端口是否正常
netstat -na|grep LISTEN
posted on 2018-06-08 09:03
长春语林科技 阅读(152)
评论(0) 编辑 收藏 所属分类:
docker