Créez un environnement d'exécution Liberty sur Docker. Vous pouvez utiliser websphere-liberty, mais je veux le traduire en japonais et je veux comprendre le Dockerfile et le mécanisme, j'ai donc écrit un Dockerfile. C'était. En plus de websphere-liberty, nous nous référons également à ibmjava.
ibmjava: 8-jre est FROM ubuntu:18.04.3 ⇒ Installation d'IBM JRE. websphere-liberté FROM ibmjava:8-jre ⇒ Installation Liberty. Installez et japonaisisez linux alpin, IBM JRE, liberty.
dockerfile
FROM scratch
ADD alpine-minirootfs-3.12.0-x86_64.tar.gz /
RUN apk update \
&& ALPINE_GLIBC_BASE_URL="https://github.com/sgerrand/alpine-pkg-glibc/releases/download" \
&& ALPINE_GLIBC_PACKAGE_VERSION="2.31-r0" \
&& ALPINE_GLIBC_BASE_PACKAGE_FILENAME="glibc-$ALPINE_GLIBC_PACKAGE_VERSION.apk" \
&& ALPINE_GLIBC_BIN_PACKAGE_FILENAME="glibc-bin-$ALPINE_GLIBC_PACKAGE_VERSION.apk" \
&& ALPINE_GLIBC_I18N_PACKAGE_FILENAME="glibc-i18n-$ALPINE_GLIBC_PACKAGE_VERSION.apk" \
&& 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 \
&& wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub \
&& wget -q "$ALPINE_GLIBC_BASE_URL/$ALPINE_GLIBC_PACKAGE_VERSION/$ALPINE_GLIBC_BASE_PACKAGE_FILENAME" \
"$ALPINE_GLIBC_BASE_URL/$ALPINE_GLIBC_PACKAGE_VERSION/$ALPINE_GLIBC_BIN_PACKAGE_FILENAME" \
"$ALPINE_GLIBC_BASE_URL/$ALPINE_GLIBC_PACKAGE_VERSION/$ALPINE_GLIBC_I18N_PACKAGE_FILENAME" \
&& apk add --no-cache \
"$ALPINE_GLIBC_BASE_PACKAGE_FILENAME" \
"$ALPINE_GLIBC_BIN_PACKAGE_FILENAME" \
"$ALPINE_GLIBC_I18N_PACKAGE_FILENAME" \
&& rm "$ALPINE_GLIBC_BASE_PACKAGE_FILENAME" \
"$ALPINE_GLIBC_BIN_PACKAGE_FILENAME" \
"$ALPINE_GLIBC_I18N_PACKAGE_FILENAME" \
&& /usr/glibc-compat/bin/localedef -i ja_JP -f UTF-8 ja_JP.UTF-8 \
&& GCC_LIBS_URL="https://archive.archlinux.org/packages/g/gcc-libs/gcc-libs-8.3.0-1-x86_64.pkg.tar.xz" \
&& wget -q -O /tmp/gcc-libs.tar.xz ${GCC_LIBS_URL} \
&& mkdir /tmp/gcc \
&& tar -xf /tmp/gcc-libs.tar.xz -C /tmp/gcc \
&& mv /tmp/gcc/usr/lib/libgcc* /tmp/gcc/usr/lib/libstdc++* /usr/glibc-compat/lib \
&& strip /usr/glibc-compat/lib/libgcc_s.so.* /usr/glibc-compat/lib/libstdc++.so* \
&& apk del --purge .build-deps \
&& apk add --no-cache ca-certificates openssl \
&& rm -rf /tmp/gcc-libs.tar.xz /tmp/gcc
ENV JAVA_VERSION 1.8.0_sr6fp11
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/"; \
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 ${JAVA_URL}; \
echo "INSTALLER_UI=silent" > /tmp/response.properties; \
echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties; \
echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties; \
mkdir -p /opt/ibm; \
chmod +x /tmp/ibm-java.bin; \
/tmp/ibm-java.bin -i silent -f /tmp/response.properties; \
rm -f /tmp/response.properties /tmp/index.yml /tmp/ibm-java.bin
# Install WebSphere Liberty
ENV LIBERTY_VERSION 20.0.0_07
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' )} \
&& 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"]
Au démarrage, le message suivant a été émis.
IBM J9 VM version 8.0.6.11 - pxa6480sr6fp11-20200602_01(SR6 FP11) (ja_JP)Et defaultServer(WebSphere Application Server 20.0.0.7/wlp-1.0.42.cl200720200625-0300)Est en cours d'exécution
[AUDIT ] CWWKE0001I:Le serveur defaultServer a été démarré.
[AUDIT ] CWWKE0100I:Ce produit est autorisé pour une utilisation en développement et une utilisation limitée en production. Tous les termes de la licence peuvent être consultés ci-dessous: https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/license/base_ilan/ilan/20.0.0.7/lafiles/ja.html
[avertissement] CWWKF0009W:Le serveur n'est configuré pour installer aucune des fonctionnalités.
[AUDIT ] CWWKF0011I:Le serveur defaultServer est prêt pour Smarter Planet. defaultServer server est 2.Cela a commencé en 961 secondes.
-Il est basé sur Alpine et est construit à partir de zéro. ・ Il a été traduit en japonais. -La dernière version d'IBM JRE et Liberty en date du 8 juillet 2020 est utilisée. -Je veux exécuter / opt / ibm / wlp / bin / client, etc., donc je n'utilise pas de liens tels que / config.
index.yml a été mis à jour. S'il n'a pas été mis à jour, téléchargez-le directement au lieu d'obtenir le chemin depuis index.yml. Vous pouvez le télécharger lorsque vous créez Docker, ou vous pouvez copier celui pré-téléchargé.
RUN LIBERTY_URL=https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/20.0.0.6/wlp-kernel-20.0.0.6.zip
websphere-liberty est 20.0.0.6, mais JRE est fp10.
docker run --rm websphere-liberty
Launching defaultServer (WebSphere Application Server 20.0.0.6/wlp-1.0.41.cl200620200528-0414) on IBM J9 VM, version 8.0.6.10 - pxa6480sr6fp10-20200408_01(SR6 FP10) (en_US)
[AUDIT ] CWWKE0001I: The server defaultServer has been launched.
~
En regardant le contenu de alpine-minirootfs-3.9.3-x86_64.tar.gz, il semble que busybox soit incroyable. C'est un substitut à quelques commandes.
busybox --help
BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2015.
Licensed under GPLv2. See source distribution for detailed
copyright notices.
Usage: busybox [function [arguments]...]
or: busybox --list[-full]
or: busybox --install [-s] [DIR]
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
[, [[, acpid, add-shell, addgroup, adduser, adjtimex, arch, arp, arping, ash, awk, base64, basename,
bbconfig, beep, blkdiscard, blkid, blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat, chgrp, chmod,
chown, chpasswd, chroot, chvt, cksum, clear, cmp, comm, conspy, cp, cpio, crond, crontab, cryptpw, cut,
date, dc, dd, deallocvt, delgroup, deluser, depmod, df, diff, dirname, dmesg, dnsdomainname, dos2unix,
du, dumpkmap, dumpleases, echo, ed, egrep, eject, env, ether-wake, expand, expr, factor, fallocate,
false, fatattr, fbset, fbsplash, fdflush, fdformat, fdisk, fgrep, find, findfs, flock, fold, free,
fsck, fstrim, fsync, fuser, getopt, getty, grep, groups, gunzip, gzip, halt, hd, hdparm, head, hexdump,
hostid, hostname, hwclock, id, ifconfig, ifdown, ifenslave, ifup, init, inotifyd, insmod, install,
ionice, iostat, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, ipneigh, iproute, iprule, iptunnel, kbd_mode,
kill, killall, killall5, klogd, less, link, linux32, linux64, ln, loadfont, loadkmap, logger, login,
logread, losetup, ls, lsmod, lsof, lspci, lsusb, lzcat, lzma, lzop, lzopcat, makemime, md5sum, mdev,
mesg, microcom, mkdir, mkdosfs, mkfifo, mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe,
more, mount, mountpoint, mpstat, mv, nameif, nanddump, nandwrite, nbd-client, nc, netstat, nice, nl,
nmeter, nohup, nologin, nproc, nsenter, nslookup, ntpd, od, openvt, partprobe, passwd, paste, patch,
pgrep, pidof, ping, ping6, pipe_progress, pkill, pmap, poweroff, powertop, printenv, printf, ps, pscan,
pstree, pwd, pwdx, raidautorun, rdate, rdev, readahead, readlink, readprofile, realpath, reboot,
reformime, remove-shell, renice, reset, resize, rev, rfkill, rm, rmdir, rmmod, route, run-parts, sed,
sendmail, seq, setconsole, setfont, setkeycodes, setlogcons, setpriv, setserial, setsid, sh, sha1sum,
sha256sum, sha3sum, sha512sum, showkey, shred, shuf, slattach, sleep, smemcap, sort, split, stat,
strings, stty, su, sum, swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar, tee, test,
time, timeout, top, touch, tr, traceroute, traceroute6, true, truncate, tty, ttysize, tunctl, udhcpc,
udhcpc6, umount, uname, unexpand, uniq, unix2dos, unlink, unlzma, unlzop, unshare, unxz, unzip, uptime,
usleep, uudecode, uuencode, vconfig, vi, vlock, volname, watch, watchdog, wc, wget, which, whoami,
whois, xargs, xxd, xzcat, yes, zcat
BusyBox 1.29.3 est inclus dans alpine-minirootfs-3.9.3-x86_64.tar.gz. BusyBox 1.30.1 a été publié, mais même si vous regardez alpine-minirootfs-3.9.4-x86_64.tar.gz, BusyBox est toujours 1.29.3 (^^; alpine-minirootfs-3.10.0-x86_64) .tar.gz a été mis à jour vers BusyBox 1.30.1.
minirootfs aports C'est facile à faire avec scripts / genrootfs.sh. Après avoir créé busybox-1.30.1 sous main / busybox, essayez de l'utiliser.
./genrootfs.sh -o test-x86_64.tar.gz busybox-1.30.1-r1.apk \
ssl_client-1.30.1-r1.apk \
alpine-baselayout alpine-keys apk-tools libc-utils
À partir du 26/08, alpine: dernier Dockerfile était comme suit.
FROM scratch
ADD alpine-minirootfs-3.10.2-x86_64.tar.gz /
CMD ["/bin/sh"]
How_to_make_a_custom_ISO_image_with_mkimage Créer un package pour Alpine Linux
Les sites que je souhaite vérifier sont les suivants. · IBM JRE https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/jre/linux/x86_64/index.yml ・ Liberté https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml
Liberty sortira Il se trouve dans Mises à jour recommandées pour WebSphere Application Server, mais ce n'est qu'un plan, donc c'est souvent plus rapide.
(2019/6/22) Rootfs est passé de 3.9.3 à 3.10.0, Liberty est passé à 19.0.0_06 (2019/6/27) keytool donne l'erreur suivante, alors ajoutez le changement de nom d'hôte Impossible de créer le certificat SSL par défaut. erreur keytool (peut-être en anglais): java.lang.RuntimeException: java.io.IOException: IPAddressName 992fdba70de5 non valide (2019/7/11) Changement de jre en 1.8.0_sr5fp37. Copie supprimée de server.xml et ear. Suppression de la partie paramètre du nom d'hôte. (2019/7/24) Gestion des versions non trouvées dans index.yml Ajouter. 19.0.0.7 etc. (2019/8 / 1x?) [Index.yml] https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml) a été mis à jour. J'ai donc changé la base Liberty en 19.0.0.7. (2019/8/21) JRE mis à niveau vers 1.8.0_sr5fp40 et Liberty mis à niveau vers 19.0.0.8. (2019/8/26) Changement de la version de linux alpin à 3.10.2. Changement de la version d'ALPINE_GLIBC en 2.30. (2019/9/15) Liberty mis à niveau vers 19.0.0.9. (2019/9/29) Ajout d'environ 8.0.5.41 de jre. (2019/10/11) Liberty 19.0.0.10 a été publié. index.yaml a également été mis à jour. (2019/10/22) Correction de la partie qui ne pouvait pas être mise à jour vers Liberty-19.0.0.10. (2019/10/23) Mise à jour des rootfs d'Alpine vers la version 3.10.3. (2019/11/13) Liberty est mis à niveau vers 19.0.0.11. (2020/3/6) Liberty est mis à niveau vers 20.0.0.2, rootfs d'Alpine est mis à niveau vers 3.11.3, et jre est mis à niveau vers 8.0.6.5. (2020/3/24) Liberty est mis à niveau vers 20.0.0.3 et rootfs d'Alpine est mis à niveau vers 3.11.5. (2020/4/12) Liberty mis à niveau vers 20.0.0.4 et jre mis à niveau vers 8.0.6.7 Cependant, Liberty n'est pas encore dans index.yml. (2020/4/15) Liberty-20.0.0.4 a été ajouté à index.yml, donc il a été corrigé. Spécification de la version Liberty fixe. (2020/5/8) Liberty est mis à niveau vers 20.0.0.5 et jre est mis à niveau vers 8.0.6.10. Fixé. Spécification de la version Liberty fixe. (2020/5/23) Alpline linux a été mis à niveau vers la version 3.11.6 et le statut de websphere-liberty a été mis à jour. (2020/6/12) Alpline linux mis à niveau vers 3.12.0 et Liberty mis à niveau vers 20.0.0.6. (2020/6/27) Mise à niveau de jre vers 8.0.6.11. (2020/7/8) Liberty est mis à niveau vers 20.0.0.7.
Recommended Posts