各服務間默認走的vip的負載均衡的方式,dnsrr需要指定
可通過
docker service inspect lhb_service(服務名)
然后看打開文件下方:
"EndpointSpec": {
"Mode": "dnsrr"
}
1.創(chuàng)建自定義網絡
docker netwrok create -d overlay lhb-overlay
2.查看docker 服務
docker service ls
3.刪除docker服務
docker service rm 服務名1 服務名2
4.創(chuàng)建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 ,真實環(huán)境一般都用這種方式
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.查看當前機器上的監(jiān)聽端口,來查看各個服務的端口是否正常
netstat -na|grep LISTEN
posted on 2018-06-08 09:03
長春語林科技 閱讀(160)
評論(0) 編輯 收藏 所屬分類:
docker