通过eureka注册中心的注册的服务,可以通过DELETE来删除指定的服务,发送地址为:
http://${server}:${port}/eureka/apps/${serviceName}/${instanceId}
如果不是删除服务而是变更服务状态,则使用PUT请求来操作服务实例的status:
http://${server}:${port}/eureka/apps/${serviceName}/${instanceId}/status?value=${value}
其中${value}的取值为:OUT_OF_SERVICE,DOWN,UP
一个不错的参考启动脚本为:
#!/bin/bash
INSTANCE_ID=`sudo docker inspect --format '{{ .Config.Hostname }}' demo`
sudo docker stop demo
curl -X DELETE http://10.250.9.11:8761/eureka/apps/DEMO-SERVICE/${INSTANCE_ID}:demo:7777
sudo docker rm demo
sudo docker pull xyz.com/demo:latest
sudo docker run -d --net weave --name demo-v /etc/timezone:/etc/timezone:ro -p 7777:7777 -v /data/demo/logs:/logs -v /etc/localtime:/etc/localtime xyz.com/demo:latest
关于docker inspect --f 模板,可以参考
https://www.jianshu.com/p/65377285662e