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进行监听并处理一些临时数据就另当别论了!

 

posted @ 2020-12-11 14:33  DW039  阅读(473)  评论(0编辑  收藏  举报