ジャコ Lab

プログラミング関連のメモ帳的ブログです

PlantUML Server がエラーになるのはベースイメージが変わったせいでは?

zako-lab929.hatenablog.com

PlantURL のバージョンが上がってリッチになったからと思っていたが・・・

事の発端

にゃんきち (id:cordblood) さんよりコメントをいただきました

plantuml-serverのGithubのDockerfile.jettyを見てみると、たしかにjetty-v1.2023.13のjavaのバージョンは17で、jetty-v1.2022.14は11のようですね。 17と11で使用するメモリ量が変わるのでしょうかね。

Dockerfile を追ってみる

github.com

Tag ベースイメージ
v1.2023.13 maven:3-eclipse-temurin-17
v1.2022.14 maven:3-jdk-11-slim

もっと追ってみると、以下で差分が生まれることがわかります。

Tag ベースイメージ
v1.2023.7 maven:3-eclipse-temurin-11
v1.2023.6 maven:3-jdk-11-slim

この差分では Java のバージョンは 11 同士。

予想:Java 11 同士でもベースイメージが slim じゃなくなった時点でダメになるはず

version: "3.8"

services:
  plantuml:
    image: plantuml/plantuml-server:jetty-v1.2023.7
    container_name: plantuml
    restart: always
    environment:
      PLANTUML_LIMIT_SIZE: 8192
    ports:
      - 8080:8080
$ docker compose ps
NAME                COMMAND             SERVICE             STATUS              PORTS
plantuml            "/entrypoint.sh"    plantuml            restarting   
やっぱりずっと restarting されているみたいです。つまり Java のバージョンのせいじゃないですね

何があったのか?

github.com

セキュリティ更新のようです

更にこの PR によって Dockerfile.jetty-alpine が追加されたようです。

jetty alpine version is only available for people who build it by there own

翻訳
Jetty alpine 版は自分で構築した人のみが利用できます。

まとめ

DockerHub から取ってきたイメージではなくて、alpine 版を使えば、私のPCでも最新版が動かせるかもしれないですね!明日やってみます