docker 容器关闭与springboot/springcloud client关闭
问题的提出:
在docker容器中运行springboot、springcloud client,如何进行优雅的关闭,防止eureka出现:
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
1、对打包的dockerfile文件进行修改
FROM hub.c.163.com/library/java:8-alpine MAINTAINER xxxx ADD app.jar app.jar VOLUME ["/config"] EXPOSE 8080 ENTRYPOINT [ "sh", "-c", "exec java -jar app.jar"] ENV TZ=Asia/Shanghai
2、使用docker stop 停止容器时,添加 -t参数设置等待容器关闭超时时间,单位s
docker stop -t=30 容器名称或id
3、关闭时容器中的输出信息
说明:不使用之上的模式进行docker stop不见得一定有问题,但是如果需要对stop进行监听并处理一些临时数据就另当别论了!
作者:DW039
出处:http://www.cnblogs.com/dw039
本文由DW039原创并发布于博客园,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。