docker-compose.yml定義了服務的運行參數web
version: "3"docker
services:負載均衡
web:curl
# replace username/repo:tag with your name and image detailsurl
image: hub.c.163.com/dog948453219/friendlyhellospa
deploy:rest
replicas: 8get
resources:it
limits:io
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
ports:
- "4000:80"
networks:
- webnet
networks:
webnet:
~
~
文件中作的事情有
從hub中拉取鏡像
運行5個web實例,限制每一個使用10%cpu,50mb RAM
若是有失敗的實例當即重啓
映射訪問端口4000到web80端口
訪問時負載均衡
1.運行web實例
docker swarm init
docker stack deploy -c docker-compose.yml getstartedlab
docker service ls
docker service ps getstartedlab_web
docker container ls -q
2.訪問web
curl -4 http://localhost:4000
hostname在變化,也就是負載到不一樣的實例
查看全部的運行container id
docker container ls -q
3.從新修改docker-compose.yml中配置實例數,從新發布
docker stack deploy -c docker-compose.yml getstartedlab
4.關閉service和swarm
docker stack rm getstartedlab
docker swarm leave --force