Wenn Sie Ihren eigenen Image-Stack für Liberty erstellen möchten, indem Sie beispielsweise das Betriebssystem des Containers ändern, müssen Sie diese Task ausführen, bevor Sie Ihr angepasstes Image in IBM Cloud Private implementieren.
Informationen zu diesem Vorgang
Die IBM Cloud Private-Bundles, die auf Passport Advantage online verfügbar sind, stellen eine Lizenz für Liberty-Docker-Container bereit, die als Basisimage verwendet werden können.
Verwenden Sie diese Task, um die Lizenz zu aktualisieren, sodass Sie Ihre Liberty-Docker-Container ändern können, die in IBM Cloud Private implementiert sind. Führen Sie die Befehle in dieser Task in demselben Verzeichnis wie die Lizenz-JAR und Ihre Dockerfile aus. Auf diese Weise wird das Docker-Image erstellt.
Vorgehensweise
- Laden Sie die entsprechende Lizenz herunter.
- Machen Sie die heruntergeladene Lizenz in einem einfachen Web-Server zugänglich. Verwenden Sie hierfür einen nginx-Container:
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"
Anmerkung: Sie müssen core durch base oder nd ersetzen, wenn Sie diese Lizenzen heruntergeladen haben.
- Fügen Sie Ihrer Dockerfile die folgenden Zeilen hinzu, um die Aktualisierung abzuschließen:
Anmerkung: Diese Codezeilen setzen voraus, dass Liberty
im Verzeichnis /opt/ibm im Container installiert ist und fügen die entsprechende Kennzeichnung hinzu, um anzugeben, dass dieser Container
ein Liberty-Container ist.
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
- Geben Sie das folgende Argument ein, um den Code aus dem vorherigen Schritt auszuführen und Ihren Container zu erstellen:
docker build --build-arg LICENSE_JAR_URL=$jar_url
- Entfernen Sie den implementierten nginx-Container.
docker rm -f jar_server
Ergebnisse
Jetzt ist Ihr Container lizenziert und gekennzeichnet, um in
IBM Cloud Private ausgeführt werden zu können.