记录java程序docker化过程中,遇到的问题
eureka
将 eureka 进行docker化时,配置如下:
1 | spring: |
https://github.com/Netflix/eureka/issues/1008
还有一个需要注意:
必须在 k8s 中将 eureka 服务设置为 StatefulSet。因为 Eureka Client 需要将自己的信息注册到每一个 Eureka Server 中。
远程调试的问题
- 每个 dockerfile 中都添加了
-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n
便于远程调试。 - 在编写k8s的pod模版时,通常需要添加监控检测。
在进行远程调试的过程中,一旦超过监控检测
的时限,pod容器就会重启。
jdk 的docker支持
https://blog.softwaremill.com/docker-support-in-new-java-8-finally-fd595df0ca54
https://www.oracle.com/technetwork/java/javase/8u191-relnotes-5032181.html
使用 jdk8_191版本默认启用 UseContainerSupport