コンテナを整理していて、いざ再度立てようとしたら立たなくなってしまいました
エラー内容はこんな感じです。
plantuml | 2024-09-20 13:32:09.000:INFO:docker-entrypoint:jetty start from /var/lib/jetty/jetty.start plantuml | [0.008s][warning][os,thread] Failed to start thread "GC Thread#0" - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 4k, detached. plantuml | # plantuml | # There is insufficient memory for the Java Runtime Environment to continue. plantuml | # Cannot create worker GC thread. Out of system resources. plantuml | # An error report file with more information is saved as: plantuml | # /var/lib/jetty/hs_err_pid7.log
docker-compose.yml
version: "3.8" services: plantuml: image: plantuml/plantuml-server:jetty container_name: plantuml restart: always environment: PLANTUML_LIMIT_SIZE: 8192 ports: - 8080:8080
docker-compose.yml はこんな感じです。たぶん普通・・・。
前回はいつ作ったコンテナだか忘れましたが、かなり前であることは確かです。
plantuml/plantuml-server:jetty はバージョン指定していないので、最近バージョンでは動かなくなってしまったことが想定されます。
Out of system resources とのことなので、ホストマシンに割り当てられてるメモリ不足とかそんなところでしょう・・・。
解決方法
いつもの如く ChatGPT に聞いてみました
ChatGPT の回答
と回答をいただき、それぞれ試しましたがダメでした。
ChatGPT の回答2
1. JettyのバージョンやJavaバージョンの互換性を確認
ここで jetty の代わりに tomcat を使ってみて とか、 旧バージョンのイメージで試してみて と言われました。
v1.2023.x 版の最終バージョンで試す
version: "3.8" services: plantuml: image: plantuml/plantuml-server:jetty-v1.2023.13 container_name: plantuml restart: always environment: PLANTUML_LIMIT_SIZE: 8192 ports: - 8080:8080
結果変わらず
plantuml | 2024-09-20 13:44:07.000:INFO:docker-entrypoint:jetty start from /var/lib/jetty/jetty.start plantuml | [0.007s][warning][os,thread] Failed to start thread "GC Thread#0" - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 4k, detached. plantuml | # plantuml | # There is insufficient memory for the Java Runtime Environment to continue. plantuml | # Cannot create worker GC thread. Out of system resources. plantuml | # An error report file with more information is saved as: plantuml | # /var/lib/jetty/hs_err_pid7.log
v1.2022.x 版の最終バージョンで試す
version: "3.8" services: plantuml: image: plantuml/plantuml-server:jetty-v1.2022.14 container_name: plantuml restart: always environment: PLANTUML_LIMIT_SIZE: 8192 ports: - 8080:8080
お!
plantuml | 2024-09-20 13:46:43.000:INFO:docker-entrypoint:jetty start from /var/lib/jetty/jetty.start plantuml | 2024-09-20 13:46:44.672:INFO :oejs.Server:main: jetty-11.0.7; built: 2021-10-06T19:59:39.004Z; git: 389a3587725d94cc2470ed06aa184c6e57fe9ce8; jvm 11.0.14+9 plantuml | 2024-09-20 13:46:44.771:INFO :oejdp.ScanningAppProvider:main: Deployment monitor [file:///var/lib/jetty/webapps/] plantuml | 2024-09-20 13:46:48.178:INFO :oejss.DefaultSessionIdManager:main: Session workerName=node0 plantuml | 2024-09-20 13:46:48.274:INFO :oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@1573f9fc{PlantUML,/,[file:///tmp/jetty/jetty-0_0_0_0-8080-ROOT_war-_-any-9231709587729611091/webapp/, jar:file:///tmp/jetty/jetty-0_0_0_0-8080-ROOT_war-_-any-9231709587729611091/webapp/WEB-INF/lib/codemirror-5.63.0.jar!/META-INF/resources],AVAILABLE}{/var/lib/jetty/webapps/ROOT.war} plantuml | 2024-09-20 13:46:48.297:INFO :oejs.AbstractConnector:main: Started ServerConnector@6ad3381f{HTTP/1.1, (http/1.1)}{0.0.0.0:8080} plantuml | 2024-09-20 13:46:48.348:INFO :oejs.Server:main: Started Server@433d61fb{STARTING}[11.0.7,sto=5000] @4920ms
http://localhost:8080
にアクセスしてみましたが、無事起動できたみたいです!
まとめ
メモリ少ないんだよなぁ・・・というかメモリスロットが2個しかない