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