Liberty on Alpine LinuxではibmjavaをAlpine Linuxに導入後、Liberty Serverを導入していました。Alpine Linuxを3.16.3/3.17.0にバージョンアップするとIBM Javaのインストールが失敗してしまう。
JRE libraries are missing or not compatible....
websphere-libertyではIBM JREの8.0.7.20が動いているので、メッセージの通りライブラリが足りないのでしょう。それは別途調べるとして、OpenJDKで試してみた。
Dockerfile例
dockerfile
FROM scratch
ADD alpine-minirootfs-3.20.1-x86_64.tar.gz /
RUN apk update \
&& apk add --no-cache unzip \
&& apk --no-cache --virtual .build-deps add binutils tzdata \
&& cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
&& echo "Asia/Tokyo" > /etc/timezone
# Install OpenJDK
ENV JAVA_HOME="/usr/lib/jvm/default-jvm"
RUN apk add openjdk11
# Has to be set explictly to find binaries
ENV PATH=$PATH:${JAVA_HOME}/bin
# Install WebSphere Liberty
ENV LIBERTY_VERSION 24.0.0.7
ARG LIBERTY_URL
ARG DOWNLOAD_OPTIONS=""
RUN LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep $LIBERTY_VERSION -A 6 | sed -n 's/\s*kernel:\s//p' | tr -d '\r' | head -1)} \
&& wget -q $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip \
&& unzip -q /tmp/wlp.zip -d /opt/ibm \
&& rm /tmp/wlp.zip
ENV LANG=ja_JP.UTF-8 LANGUAGE=ja_JP.UTF-8
RUN /opt/ibm/wlp/bin/server create
RUN /opt/ibm/wlp/bin/installUtility install defaultServer
EXPOSE 9080 9443
CMD ["/opt/ibm/wlp/bin/server", "run", "defaultServer"]
起動すると以下のメッセージが出力された。
OpenJDK 64-Bit Server VM バージョン 11.0.24+8-alpine-r0 (ja_JP) で、defaultServer (WebSphere Application Server 24.0.0.7/wlp-1.0.91.cl240720240701-1102) を起動しています
[監査 ] CWWKE0001I: サーバー defaultServer が起動されました。
[監査 ] CWWKE0100I: この製品は、開発使用向け、および限定的な実動使用向けにライセンスが交付されています。 全ライセンス条項は以下で表示可能です: https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/license/base_ilan/ilan/24.0.0.7/lafiles/ja.html
[警告 ] CWWKF0009W: サーバーは、いずれのフィーチャーもインストールするようには構成されていません。
[監査 ] CWWKF0012I: サーバーは次のフィーチャーをインストールしました。[]。
[監査 ] CWWKF0011I: defaultServer サーバーは、Smarter Planet に対応する準備ができました。defaultServer サーバーは 1.091 秒で始動しました。