docker入门2-docker service

docker service介绍

service是生产环境中某个image的container集合。一个service只使用一个image,但它编排这个image的运行方式,好比使用哪一个端口,根据需求运行多少份container。在docker stack负载均衡中,一个service中的全部container可能均匀的分布在多台虚拟机/物理机中,但它们共用一个端口,看起来就想是运行在一台机器中的服务同样。改变业务吞吐量,只须要更改这个service的container数量。html

docker service命令

编写docker-compose.yml

使用docker-compose.yml文件,能够轻松定义,运行和扩展docker平台的services。web

docker-compose.ymldocker

version: "3"
services:
  web:
    image:cchenyang/get-started:part2
    deploy:
      replicas: 5
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
      restart_policy:
        # immediately restart containers if one fails
        condition: on-failure
    ports:
      # map port 8001 on the host to web's port 8001
      - "8001:8001"
    networks:
      - webnet
networks:
  webnet:

运行负载均衡的docker app

初始化swarm

在部署docker app前,须要现初始化集群管理docker swarm init,完成以后才能够在这个初始化的swarm上部署。关于swarm后章说明。app

部署docker app

部署app时给其取个名字docker stack depoly -c docker-compose.yml getstartedlab负载均衡

根据上面的yml文件,当前单service stack用同一个image运行了5个container。rest

查看docker service

跟查看container的命令docker container ls相似(这里执行这句会找到5个container),查看docker service的命令是docker service ls,也可以使用命令docker stack services getstartedlab,这里意思是查看stack下的名为getstartedlab的service。code

伸缩docker app

直接修改yml文件中的replicas参数,再部署一遍docker stack depoly -c docker-compose.yml getstartedlab就能够改变container的数量。htm

删除docker app

删除stackdocker stack rm getstartedlabblog

卸载swarmdocker swarm leave --force部署

系列导航

docker入门1-docker container
docker入门3-docker swarm
docker入门4-docker stack

相关文章
相关标签/搜索