在分布式应用程序中,应用程序的不同部分被称为“服务”。例如,如果有一个视频共享网站,它可能包括一个用于将应用程序数据存储在数据库中的服务,一个在用户上传东西后在后台进行视频转码的服务,一个用于前端页面的服务等等。
服务实际上只是“生产中的容器”。每个服务只运行一个映像,但它编码了镜像的运行方式 - 应该使用哪个端口,容器应运行多少个副本以满足性能要求等等。 伸缩服务可以更改运行该软件的容器实例的数量,从而为进程中的服务分配更多计算资源。
定义、运行和伸缩 Docker 平台的服务很简单,只需要写一个 docker-compose.yml 文件。
Swarm services使用声明性模型,这意味着你可以定义服务的理想状态,并依靠Docker保持状态。状态信息如下:
- 运行服务容器所依赖的镜像名称和tag
- 该服务包含多少容器
- 是否有任何端口暴露在swarm集群的客户端上
- 当docker服务启动时,service是否自动启动
- 重新启动服务时发生的特定行为(例如是否使用回滚重新启动)
- 服务可以运行的节点的特性(如资源约束和位置偏好)
以上内容翻译自官方文档.
docker service create 包含以下参数:
创建一个服务
docker service create –replicas 5 –name myhelloworld alpine ping docker.com
replicas 参数是指运行实例个数
name 参数指定服务名称
alpine 指的是使用的镜像名称
ping docker.com 指的是容器运行的bash
使用docker service ls命令查看创建出来的服务
docker service update命令参数:
docker service update更新服务:
docker service update –publish-add 80 my_web
publish-add参数指添加或者更新一个对外端口
image参数指更新镜像
hostname 更新或指定容器名称
force 指强制更新,即使本次更新没有任何改变
docker service inspect命令参数:
docker service inspect查看服务详情:
docker service inspect my_web
docker service ps命令参数:
docker service ps 搜索服务命令:
–filter可以指定过滤条件
docker service rm 删除服务:
docker service ls 列出所有服务:
发现my_web服务已经被删除了
docker service scale 扩展一个或多个服务
docker service scale webtier_nginx=5
查看服务详情:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。