如何调用docker swarm service的API来创建及更新服务
作者:佚名
上传时间:2019-05-14
版权申诉
平衡的推进,先作一个原型吧。
#!/usr/bin/env python # -*- coding: utf-8 -*- import requests import json #定义docker swarm的管理节点ip,端口号,API版本,服务名, 服务URL #在后期集成到自动化部署时,需要精简数据结构,完善data, 增加精准判断及空间回收 #API更多用途参考: https://docs.docker.com/engine/api/v1.29/ docker_swarm_ip_port = "ip:port" docker_swarm_api_version = "v1.29" docker_swarm_service_name = "tomcatbv" get_service_url = "http://%s/%s/services/%s" %(docker_swarm_ip_port, docker_swarm_api_version, docker_swarm_service_name) data = { "Name": "tomcatbv", "TaskTemplate": { "ContainerSpec": { "Image": "harbor_op/project_name/tomcat:20170620demo", }, "Placement": {}, "RestartPolicy": { "Condition": "on-failure", "Delay": 10000000000, "MaxAttempts": 10 } }, "Mode": { "Replicated": { "Replicas": 1 } }, "UpdateConfig": { "Parallelism": 2, "FailureAction": "pause", }, "RollbackConfig": { "Parallelism": 1, }, "Labels": { "foo": "bar" } } #创建docker swarm service服务 def create_service(): url = "http://%s/%s/services/create" %(docker_swarm_ip_port, docker_swarm_api_version) data_json = json.dumps(data) r = requests.post(url, data=data_json) print r.text if r.status_code == 201: print "created ok" else: print "create error" sys.exit() #更新docker swarm service服务 def update_service(version_index): url = "http://%s/%s/services/%s/update?version=%s" %(docker_swarm_ip_port, docker_swarm_api_version, docker_swarm_service_name, version_index) data_json = json.dumps(data) r = requests.post(url, data=data_json) print version_index, r.text, r.status_code if r.status_code == 200: print "updated ok" else: print "update error" sys.exit() def main(): get_service_url = "http://%s/%s/services/%s" %(docker_swarm_ip_port, docker_swarm_api_version, docker_swarm_service_name) r = requests.get(get_service_url) print get_service_url, r.status_code, r.text if r.status_code != 200: create_service() else: version_index = eval(r.text)["Version"]["Index"] update_service(version_index) if __name__ == "__main__": main()
免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com
用户评论
相关推荐
如何调用docker swarm service的API来创建及更新服务
平衡的推进,先作一个原型吧。 #!/usr/bin/env python# -*- coding: utf-8 -*-import requestsimport json
Docker Swarm实现服务的滚动更新的示例代码
一、什么是Docker Swarm? Docker Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机
PDF
201KB
2021-02-01 08:14
Web Service创建及调用
本资源是本人中间件课程的大作业,内容包括了:什么是WebService?WebService的应用场所;如何创建一个简单的WebService?如何调用Web服务?该文档对如何创建及如何调用WebSe
DOC
0B
2019-08-17 20:12
docker_swarm_service_componse.yml
docker swarm部署分布式微服务编排文件示例
YML
4KB
2021-04-20 07:28
vagrant docker swarm cluster用于创建Docker Swarm模式集群的Vagrantfile源码
vagrant-docker-swarm-cluster:用于创建Docker Swarm模式集群的Vagrantfile
ZIP
2KB
2021-02-09 13:58
ansible docker systemd service为docker容器创建Systemd服务的角色源码
ansible-docker-systemd-service:为docker容器创建Systemd服务的角色
ZIP
10KB
2021-02-01 23:09
docker深入2-UI之portainer通过API来更新service的ACL
docker深入2-UI之portainer通过API来更新service的ACL2018/11/5准备工作阅读文档resource_controlsManage access
已部署使用webhooks更新Kubernetes部署和Docker Swarm服务源码
部署 使用Webhooks更新Kubernetes部署和Docker Swarm服务 Kubernetes 创建服务帐户: kubectl create serviceaccount deployd的
ZIP
20.35MB
2021-02-06 12:32
BAPI创建及发布web service的发布及abap调用
本文档主要是介绍BAPI的创建,有详细的截图及描述。
DOC
922KB
2020-11-17 02:33
创建Window服务Service及调试_源码
创建Window服务(Service)及调试-源码创建Window服务(Service)及调试-源码
ZIP
0B
2019-05-27 10:43