例えば、コンテナーのオペレーティング・システムを変更して Liberty 用の独自のイメージ・スタックを作成したい場合は、カスタマイズされたイメージを IBM Cloud Private にデプロイする前に、以下のタスクを実行する必要があります。
このタスクについて
パスポート・アドバンテージ・オンラインから入手可能な IBM Cloud Private バンドルでは、基本イメージとして使用できる Liberty Docker コンテナー用の製品ライセンスが提供されます。
IBM Cloud Private にデプロイされる Liberty Docker コンテナーを変更できるように、以下のタスクを使用してライセンスをアップグレードします。このタスクのコマンドは、ライセンス JAR および Dockerfile と同じディレクトリーで実行してください (Dockerfile は、Docker イメージが何で作成されるのかを示します)。
手順
- 該当するライセンスをダウンロードします。
- 単純な Web サーバーを使用して、ダウンロードしたライセンスを公開します。以下のように、nginx コンテナーを使用してライセンスを公開します。
docker run -dP --name jar_server -v $(pwd):/usr/share/nginx/html nginx
jar_server_ip=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' jar_server)
jar_url="http://${jar_server_ip}:80/wlp-core-license.jar"
注: core を base または nd に置き換える必要があります (これらのライセンスをダウンロードした場合)。
- 以下の行を Dockerfile に追加してアップグレードを完了します。
注: これらのコード行は、Liberty がコンテナー内の /opt/ibm ディレクトリー内にインストールされ、このコンテナーを Liberty コンテナーとして識別するために適切なラベルを追加することを前提としています。
LABEL "ProductID"="fbf6a96d49214c0abc6a3bc5da6e48cd" \
"ProductName"="WebSphere Application Server Liberty" \
"ProductVersion"="17.0.0.3"
ARG LICENSE_JAR_URL
RUN \
if [ $LICENSE_JAR_URL ]; then \
wget $LICENSE_JAR_URL -O /tmp/license.jar \
&& java -jar /tmp/license.jar -acceptLicense /opt/ibm \
&& rm /tmp/license.jar; \
fi
- 以下の引数を入力して、前のステップからのコードを実行し、コンテナーを作成します。
docker build --build-arg LICENSE_JAR_URL=$jar_url
- デプロイ済みの nginx コンテナーを削除します。
docker rm -f jar_server
タスクの結果
これで、コンテナーに、
IBM Cloud Private 内で実行するためのライセンスが交付され、ラベルが付けられました。