1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

jboss/wildflyのJDKとstandalone-full.xmlを変えたい

Last updated at Posted at 2019-10-01

背景

JDK11とJDK8でFrameworkのふるまいが若干異なり、wilfly(16.0.0.Final)のコンテナをJDK8で動くか確認しようとしていた。
それからwildflyの構成を変更する意図で、standalone-full.xmlを書き換えたいと考えていた。

以降、下記の実装として対応した内容を記録する。

  • jboss/wildfly:16.0.0.Finalを使いたい
  • デフォルトJDK11になっているけど、JDK8を使いたい
  • standalone-full.xmlを書き換えたい

※あくまで検証で試行錯誤した手順であり、本番環境等での適用を考慮した対応ではありません。

実施したこと

JDKの変更

以下の対応を実施。

  • DockerfileにjDK8をyum installしてJAVA HOMEを設定する処理を追加
  • yumインストールの処理は毎度実行されると重いので、分離してイメージをPrivate Registryに登録
  • 通常利用するjboss/wildflyのDockerfileは上記のJDK入れ替え済みイメージをベースとして利用するように変更

standalone-full.xmlの置換

  • コンテナにログインしてls -alを実行すると、「/opt/jboss/wildfly/standalone/configuration/standalone-full.xml」のパーミッションは、「jboss:root」だった
  • 普通にコピーするとjboss:rootにchownできないので、Dockerfile内でCOPYの処理時に「--chown=jboss:root」させた

サンプル

下記をdocker buildして、private repo(my.private.repo.com:5000)に「/jboss/wildfly:16.0.0.Final-jdk1.8.0_222」として登録する。

Dockerfile.wildfly-jdk8
FROM jboss/wildfly:16.0.0.Final
USER root
RUN yum -y install java-1.8.0-openjdk-devel && yum clean all
ENV JAVA_HOME /usr/lib/jvm/java
RUN /opt/jboss/wildfly/bin/add-user.sh admin1234 Password1! --silent

CIや開発端末上で使うDockerfileは以下の形式にする。(必要に応じて、warファイルとstandalone-full.xmlを更新できる。)

Dockerfile
FROM my.private.repo.com:5000/jboss/wildfly:16.0.0.Final-jdk1.8.0_222

RUN ls -la /opt/jboss/wildfly/standalone/configuration/ && rm -f /opt/jboss/wildfly/standalone/configuration/standalone-full.xml
COPY --chown=jboss:root ./standalone-full.xml /opt/jboss/wildfly/standalone/configuration
ADD target/*.war /opt/jboss/wildfly/standalone/deployments/
RUN ls -la /opt/jboss/wildfly/standalone/configuration/ && ls -la /opt/jboss/wildfly/standalone/deployments/ && /opt/jboss/wildfly/bin/add-user.sh admin1234 Password1! --silent

その他

  • これがベストな対応かわからないので、もっとスマートな対応をご存知の方がいれば、教えてください。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?