idea通过dockerfile发布时容器内报错:Failed to start thread “VM Thread“

idea通过dockerfile发布时报错:

[0.015s][warning][os,thread] Failed to start thread “VM Thread” - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 4k, detached.
2024-02-21T00:34:59.555333000Z Error occurred during initialization of VM
2024-02-21T00:34:59.555577000Z Cannot create VM thread. Out of system resources.


先上解决方案:

方案有两种:
1.Docker环境升级或降级: 如果是换服务器,新的Docker环境要兼容旧项目,里面是空的,直接重装Docker环境和旧服务器版本相同,别犹豫。
2.Dockerfile环境升级或降级: 旧dockerfile升级到新Docker环境,去官网找新的依赖。

以我的为例:

#此处Java17与Docker环境不兼容
#FROM eclipse-temurin:17
#升级到19可以解决
FROM openjdk:19-rc-jdk-bullseye

MAINTAINER 317589916@qq.com

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

RUN mkdir -p /home/project

WORKDIR /home/project

EXPOSE 8888

ADD ./application.jar  ./application.jar

CMD java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar application.jar --spring.profiles.active=dev

原因分析:

从报错信息来看是一个Java的报错,如果不是知道旧项目运行正常这么理解下去就跑偏了,所以直接定位到环境问题。
备注:Dockerfile是旧项目时开发写的,直接复制到新项目中。服务器的Docker环境是新装的

所以问题就来了,dockerfile中的镜像太旧,与新版本的Docker环境不兼容,所以报错。将FROM eclipse-temurin:17 升级为FROM openjdk:19-rc-jdk-bullseye 完成。

所以各位如果遇到这类问题没有头绪,可以考虑版本兼容问题。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值