我正在尝试运行docker容器来启动springboot restful api:
docker run api:latest
然后以错误代码137退出,并在结尾处打印“Killed”:
2018-05-19 13:36:08.571 INFO 8 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2018-05-19 13:36:08.581 INFO 8 --- [ main] o.s.c.support.DefaultLifecycleProcessor : Starting beans in phase 0
2018-05-19 13:36:08.737 INFO 8 --- [ main] b.c.e.u.UndertowEmbeddedServletContainer : Undertow started on port(s) 8080 (http)
2018-05-19 13:36:08.751 INFO 8 --- [ main] org.smarter.Application : Started Application in 8.63 seconds (JVM running for 9.454)
Killed
我没有指定任何资源限制,为什么退出错误代码137?
答案 0 :(得分:1)
如果您的Docker镜像正在运行JDK8u131 +或JDK9 +,请选中" Running a JVM in a Container Without Getting Killed"来自 Carlos Sanchez 。
在大多数情况下,JDK默认为 host 内存的1/4,而不是容器。
尝试添加
,如此spring-boot-web-dockerDockerfile
@app.route('/animals/<animal>', methods=['GET'])
def animals(animal):
return render_template('animals.html', title='Animal Details', animal=animal)
(在您尝试使用的图像之上构建自己的自定义图像)
这些选项来自&#34; Java SE support for Docker CPU and memory limits&#34; (2017年5月)。