SpringBoot 在 Docker 容器中的 1 号进程

409 字
2 分钟
SpringBoot 在 Docker 容器中的 1 号进程

spring boot 项目配置中,配置了平滑关机,但是不生效。

查看 docker 容器中的进程,发现并不是 1 号进程

Terminal window
root@268bcf4264ae:/app# ps -ef | grep java
root 1 0 0 08:35 ? 00:00:00 /bin/sh -c sh -c 'java $JAVA_OPTS org.springframework.boot.loader.JarLauncher'
root 7 1 0 08:35 ? 00:00:00 sh -c java $JAVA_OPTS org.springframework.boot.loader.JarLauncher
root 8 7 8 08:35 ? 00:01:31 java -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djasypt.encryptor.password=123456 -Dspring.cloud.bootstrap.location=/config/bootstrap.yml -Dspring.jmx.enabled=false -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:+StartAttachListener -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/qnvip-loan-backend-dump.hprof -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:+PrintGCApplicationStoppedTime -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1024k -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xms2G -Xmx2G -Xss512k -Xloggc:/logs/gc/gc.log org.springframework.boot.loader.JarLauncher
root 1438 1421 0 08:53 pts/0 00:00:00 grep --color=auto java

查看 Dockerfile 中的启动命令

Terminal window
ENTRYPOINT sh -c 'java $JAVA_OPTS org.springframework.boot.loader.JarLauncher'

google之,ENTRYPOINT 命令修改如下

Terminal window
ENTRYPOINT ["/bin/sh", "-c", "exec java $JAVA_OPTS org.springframework.boot.loader.JarLauncher"]

构建镜像,重新启动后,再次进入容器查看 进程信息

Terminal window
root@8fff76975d58:/app# ps -ef | grep java
root 1 0 37 08:57 ? 00:00:55 java -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djasypt.encryptor.password=123456 -Dspring.cloud.bootstrap.location=/config/bootstrap.yml -Dspring.jmx.enabled=false -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:+StartAttachListener -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/qnvip-loan-backend-dump.hprof -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:+PrintGCApplicationStoppedTime -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1024k -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xms2G -Xmx2G -Xss512k -Xloggc:/logs/gc/gc.log org.springframework.boot.loader.JarLauncher
root 368 354 0 08:59 pts/0 00:00:00 grep --color=auto java

已经成功变为 1 号进程

验证平滑下线

Terminal window
qnvip-loan-backend | 2023-09-06 09:07:19.389+08:00 INFO 1 --- TID: /NA [ionShutdownHook] o.a.d.c.e.listener.LoggingEventListener : [DUBBO] Dubbo Service has been destroyed., dubbo version: 2.7.23, current host: 172.20.0.3
qnvip-loan-backend | 2023-09-06 09:07:19.390+08:00 INFO 1 --- TID: /NA [ionShutdownHook] o.a.d.r.support.AbstractRegistryFactory : [DUBBO] Close all registries [nacos://192.168.1.216:8848/org.apache.dubbo.registry.RegistryService?application=qnvip-loan-backend&check=false&dubbo=2.0.2&id=org.apache.dubbo.config.RegistryConfig#0&interface=org.apache.dubbo.registry.RegistryService&namespace=10fb9841-85bc-4c22-8faf-d6d9c7bc4734&pid=1&qos.enable=false&release=2.7.23&timestamp=1693961852930], dubbo version: 2.7.23, current host: 172.20.0.3
qnvip-loan-backend | 2023-09-06 09:07:19.390+08:00 INFO 1 --- TID: /NA [ionShutdownHook] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Destroy registry:nacos://192.168.1.216:8848/org.apache.dubbo.registry.RegistryService?application=qnvip-loan-backend&check=false&dubbo=2.0.2&id=org.apache.dubbo.config.RegistryConfig#0&interface=org.apache.dubbo.registry.RegistryService&namespace=10fb9841-85bc-4c22-8faf-d6d9c7bc4734&pid=1&qos.enable=false&release=2.7.23&timestamp=1693961852930, dubbo version: 2.7.23, current host: 172.20.0.3
qnvip-loan-backend | 2023-09-06 09:07:19.390+08:00 INFO 1 --- TID: /NA [ionShutdownHook] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Unregister: consumer://172.20.0.3/qnvip.rent.support.facade.CallRecordFacade?application=qnvip-loan-backend&category=consumers&check=false&dubbo=2.0.2&init=false&interface=qnvip.rent.support.facade.CallRecordFacade&metadata-type=remote&methods=getListByMobiles&pid=1&qos.enable=false&release=2.7.23&revision=1.0.0-SNAPSHOT&side=consumer&sticky=false&timeout=15000&timestamp=1693961854121, dubbo version: 2.7.23, current host: 172.20.0.3
qnvip-loan-backend | 2023-09-06 09:07:19.393+08:00 INFO 1 --- TID: /NA [ionShutdownHook] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Destroy unregister url consumer://172.20.0.3/qnvip.rent.support.facade.CallRecordFacade?application=qnvip-loan-backend&category=consumers&check=false&dubbo=2.0.2&init=false&interface=qnvip.rent.support.facade.CallRecordFacade&metadata-type=remote&methods=getListByMobiles&pid=1&qos.enable=false&release=2.7.23&revision=1.0.0-SNAPSHOT&side=consumer&sticky=false&timeout=15000&timestamp=1693961854121, dubbo version: 2.7.23, current host: 172.20.0.3
qnvip-loan-backend | 2023-09-06 09:07:19.393+08:00 INFO 1 --- TID: /NA [ionShutdownHook] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Unregister: consumer://172.20.0.3/com.qnvip.merchant.client.facade.StageOrderFacade?application=qnvip-loan-backend&category=consumers&check=false&dubbo=2.0.2&init=false&interface=com.qnvip.merchant.client.facade.StageOrderFacade&metadata-type=remote&methods=orderList,customerInfo,orderDetail,orderRepaymentInfoList&pid=1&qos.enable=false&release=2.7.23&retries=1&revision=2.0.0-SNAPSHOT&side=consumer&sticky=false&timeout=600000&timestamp=1693961854009, dubbo version: 2.7.23, current host: 172.20.0.3
qnvip-loan-backend | 2023-09-06 09:07:19.395+08:00 INFO 1 --- TID: /NA [ionShutdownHook] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Destroy unregister url consumer://172.20.0.3/com.qnvip.merchant.client.facade.StageOrderFacade?application=qnvip-loan-backend&category=consumers&check=false&dubbo=2.0.2&init=false&interface=com.qnvip.merchant.client.facade.StageOrderFacade&metadata-type=remote&methods=orderList,customerInfo,orderDetail,orderRepaymentInfoList&pid=1&qos.enable=false&release=2.7.23&retries=1&revision=2.0.0-SNAPSHOT&side=consumer&sticky=false&timeout=600000&timestamp=1693961854009, dubbo version: 2.7.23, current host: 172.20.0.3
qnvip-loan-backend | 2023-09-06 09:07:19.395+08:00 INFO 1 --- TID: /NA [ionShutdownHook] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Unregister: consumer://172.20.0.3/qnvip.rent.support.facade.MiniConfigFacade?application=qnvip-loan-backend&category=consumers&check=false&dubbo=2.0.2&init=false&interface=qnvip.rent.support.facade.MiniConfigFacade&metadata-type=remote&methods=getMiniTypePlatMap,getNameByMiniType,getMiniConfigMapList,getMiniTypeStrMap,getByMiniType,getChannelByMiniType&pid=1&qos.enable=false&release=2.7.23&revision=1.0.0-SNAPSHOT&side=consumer&sticky=false&timeout=15000&timestamp=1693961852907, dubbo version: 2.7.23, current host: 172.20.0.3

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

SpringBoot 在 Docker 容器中的 1 号进程
https://blog.sephy.top/posts/springboot-在-docker-容器中的-1-号进程/
作者
虾米
发布于
2022-07-02
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
虾米
coder
分类
标签
站点统计
文章
61
分类
4
标签
52
总字数
64,663
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.13.9
文章许可
CC BY-NC-SA 4.0

当前页面没有目录