Liberty on Alpine Linux Part2で Alpine Linux 3.17.0 でも Liberty が動くようになりました。以下のDocker fileは Alpine Linux 3.18.7 を使っています。
Libertyのindex.ymlにも24.0.0.7があります。Docker build してみます。Alpine Linux 3.20.3がリリースされましたが、Liberyの起動で失敗したので 3.18.7 のままです。
Dockerfile例
FROM scratch
ADD alpine-minirootfs-3.18.7-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
ENV GLIBC https://github.com/sgerrand/alpine-pkg-glibc/releases/download
ENV GLIBC_VER 2.35-r1
RUN wget -q ${GLIBC}/${GLIBC_VER}/glibc-${GLIBC_VER}.apk
RUN wget -q ${GLIBC}/${GLIBC_VER}/glibc-bin-${GLIBC_VER}.apk
RUN wget -q ${GLIBC}/${GLIBC_VER}/glibc-i18n-${GLIBC_VER}.apk
RUN wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
RUN apk add --no-cache --force-overwrite \
"glibc-${GLIBC_VER}.apk" \
"glibc-bin-${GLIBC_VER}.apk" \
"glibc-i18n-${GLIBC_VER}.apk" \
&& rm "glibc-${GLIBC_VER}.apk" \
"glibc-bin-${GLIBC_VER}.apk" \
"glibc-i18n-${GLIBC_VER}.apk" \
&& /usr/glibc-compat/bin/localedef -i ja_JP -f UTF-8 ja_JP.UTF-8 \
&& apk del --purge .build-deps \
&& apk add --no-cache ca-certificates openssl
RUN rm /lib64/ld-linux-x86-64.so.2
RUN ln -s /usr/glibc-compat/lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
ENV JAVA_VERSION 8.0.8.30
RUN set -eux; \
YML_FILE='jre/linux/x86_64/index.yml'; \
BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/8.0"; \
wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml ${BASE_URL}/${YML_FILE}; \
JAVA_URL=$(sed -n '/^'${JAVA_VERSION}:'/{n;s/\s*uri:\s//p}'< /tmp/index.yml); \
wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin.tgz ${JAVA_URL}; \
mkdir -p /opt/ibm; \
tar xvfz /tmp/ibm-java.bin.tgz -C /opt/ibm; \
mv /opt/ibm/ibm-java-x86_64-80 /opt/ibm/java
# Install WebSphere Liberty
ENV LIBERTY_VERSION 24.0.0.11
ARG LIBERTY_URL
ARG DOWNLOAD_OPTIONS=""
RUN LIBERTY_URL="https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/${LIBERTY_VERSION}/wlp-kernel-${LIBERTY_VERSION}.zip" \
&& 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 JAVA_HOME=/opt/ibm/java/jre \
PATH=/opt/ibm/java/jre/bin:/opt/ibm/wlp/bin:$PATH \
IBM_JAVA_OPTIONS="-XX:+UseContainerSupport" \
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"]
"defaultServer"]
起動メッセージ
起動すると以下のメッセージが出力されました。
IBM J9 VM バージョン 8.0.8.30 - pxa6480sr8fp30-20240801_01(SR8 FP30) (ja_JP) で、defaultServer (WebSphere Application Server 24.0.0.11/wlp-1.0.95.cl241120241021-1102) を起動しています
[AUDIT ] CWWKE0001I: サーバー defaultServer が起動されました。
[AUDIT ] CWWKE0100I: この製品は、開発使用向け、および限定的な実動使用向けにライセンスが交付されています。 全ライセンス条項は以下で表示可能です: https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/license/base_ilan/ilan/24.0.0.11/lafiles/ja.html
[警告 ] CWWKF0009W: サーバーは、いずれのフィーチャーもインストールするようには構成されていません。
[AUDIT ] CWWKF0012I: サーバーは次のフィーチャーをインストールしました。[]。
[AUDIT ] CWWKF0011I: defaultServer サーバーは、Smarter Planet に対応する準備ができました。defaultServer サーバーは 2.644 秒で始動しました。
特徴
・Alpineをベースにしていて、scratchから構築している。
・日本語化している。
・2024/07/19現在の最新版IBM JRE、Libertyを使用している。
・/opt/ibm/wlp/bin/clientなども動かしたいので、/configなどのリンクは使わない。
変更履歴
(2022/12/22)Libertyを22.0.0.13に、glibcを2.35-r0にバージョンアップ。
(2023/01/10)Alpine Linuxを3.17.1にバージョンアップ。
(2023/01/31)Libertyを23.0.0.1にバージョンアップ。
(2023/02/11)Alpine Linuxを3.17.2にバージョンアップ。
(2023/03/08)Libertyを23.0.0.2にバージョンアップ。
(2023/04/05)Alpine Linuxを3.17.3に、Libertyを23.0.0.3にバージョンアップ。
(2023/04/07)IBM Java JREを8.0.8.0にバージョンアップ。
(2023/05/03)Libertyを23.0.0.4にバージョンアップ。
(2023/05/15)Alpine Linuxを3.18.0に、glibcを2.35-r1にバージョンアップ。
(2023/06/01)Libertyを23.0.0.5にバージョンアップ。
(2023/06/17)Alpine Linuxを3.18.2に、IBM Java JREを8.0.8.5にバージョンアップ。
(2023/06/27)Libertyを23.0.0.6にバージョンアップ。
(2023/07/26)IBM Java JREを8.0.8.6に、Libertyを23.0.0.7にバージョンアップ。
(2023/08/08)Alpine Linuxを3.18.3にバージョンアップ。
(2023/08/22)IBM Java JREを8.0.8.10に、Libertyを23.0.0.8にバージョンアップ。
(2023/10/11)Alpine Linuxを3.18.3に、IBM Java JREを8.0.8.11に、Libertyを23.0.0.9にバージョンアップ。
(2023/10/23)Libertyを23.0.0.10にバージョンアップ。
(2023/11/20)Libertyを23.0.0.11にバージョンアップ。
(2023/12/15)IBM Java JREを8.0.8.15に、Libertyを23.0.0.12にバージョンアップ。
(2024/01/30)Libertyを24.0.0.1にバージョンアップ。
(2024/03/15)Alpine Linuxを3.18.6に、IBM Java JREを8.0.8.20に、Libertyを24.0.0.2にバージョンアップ。
(2024/03/27)IBM Java JREを8.0.8.21に、Libertyを24.0.0.3にバージョンアップ。
(2024/04/28)Libertyを24.0.0.4にバージョンアップ。
(2024/05/21)IBM Java JREを8.0.8.25に、Libertyを24.0.0.5にバージョンアップ。
(2024/06/26)Alpine Linuxを3.18.7に、Libertyを24.0.0.6にバージョンアップ。
(2024/07/02)IBM Java JREを8.0.8.26にバージョンアップ。
(2024/07/19)Libertyを24.0.0.7にバージョンアップ。
(2024/08/16)IBM Java JREを8.0.8.30に、Libertyを24.0.0.8にバージョンアップ。
(2024/11/07)Libertyを24.0.0.11にバージョンアップ