git clone https://github.com/ujnak/apex-podman-setup
cd apex-podman-setup/jena
Oracle Graph Adapterを組み込んだApache Jena Fusekiのコンテナ・イメージの構築に使用する2つのファイルを、ディレクトリfiles以下に配置します。jena % mkdir -p files
jena %
プラットフォームのアーキテクチャ(x86-64またはarm64)に対応した、Compressed Archive(tar.gzで終わるファイル)をダウンロードします。
ダウンロード・サイトからOracle Graph - Support Adapters and Pluginsのリンクを開きます。RDF Graphのリンクはページの下の方にあります。
21.1.8_Oracle19c_Jena-3.12.0 for (GENERIC (All Platforms))のV1052173-01.zipをダウンロードします。
jena % ls -l files
total 666960
-rw-r--r--@ 1 * staff 166816127 11月 14 11:47 jdk-11.0.29_linux-aarch64_bin.tar.gz
-rw-r--r--@ 1 * staff 174664594 11月 14 11:47 V1052173-01.zip
jena %
<#oracle> rdf:type oracle:Dataset;
oracle:connection
[ a oracle:OracleConnection ;
oracle:jdbcURL "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host.containers.internal)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=freepdb1)))";
oracle:User "WKSP_APEXDEV" ;
oracle:Password "******"
];
oracle:allGraphs [ oracle:firstModel "MYTH"; oracle:networkOwner "WKSP_APEXDEV"; oracle:networkName "LOCALNET" ] .
#
podman build -t oracle-jena .
jena % podman build -t oracle-jena .
[1/2] STEP 1/8: FROM oraclelinux:8 AS builder
[1/2] STEP 2/8: RUN dnf install -y tar unzip
--> Using cache 86c5dc4c451e1be3e3e016c086ed5942125eaf090a34630f15e360ebc048f8d4
--> 86c5dc4c451e
[1/2] STEP 3/8: ENV LANG en_US.UTF-8
--> Using cache 05c1b99293d2ed23c5917f0f8709fd5295c752a44abac93421c7a4bdca9ad1ef
--> 05c1b99293d2
[1/2] STEP 4/8: ENV JAVA_HOME=/usr/java/jdk-11
--> Using cache 299961c363d237e56bced35ae154989b82c166e1490580e730184bf35c3cf36c
--> 299961c363d2
[1/2] STEP 5/8: COPY files/jdk-11.*.tar.gz /tmp/
--> Using cache 0d77092eeb18b67d6cec749c4d00b0733f5f752f11673d914609344f2a7ac932
--> 0d77092eeb18
[1/2] STEP 6/8: RUN set -eux; ARCH="$(uname -m)" && if [ "$ARCH" = "x86_64" ]; then mv "$(ls /tmp/jdk-11*_linux-x64_bin.tar.gz)" /tmp/jdk.tar.gz ; else mv "$(ls /tmp/jdk-11*_linux-aarch64_bin.tar.gz)" /tmp/jdk.tar.gz ; fi && mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/jdk.tar.gz --directory "$JAVA_HOME" --strip-components 1
--> Using cache d1998efd642e08fdcc56dbd12c635eeaa17de274c0c77cf92a9608b820cb1300
--> d1998efd642e
[1/2] STEP 7/8: COPY files/V1052173-01.zip /tmp/
--> 639ae3068bea
[1/2] STEP 8/8: RUN unzip -q -d /opt/oracle-jena /tmp/V1052173-01.zip
--> 5fef7f475acd
[2/2] STEP 1/13: FROM oraclelinux:8
[2/2] STEP 2/13: ENV LANG en_US.UTF-8
--> Using cache 3c9aed82232a0d4fea8b8643a42bf61575a15f8eb9dab83a53a3558801de4e32
--> 3c9aed82232a
[2/2] STEP 3/13: ENV JAVA_HOME=/usr/java/jdk-11
--> Using cache 8bcf0430ed2ca6f4506b22e3798a0e2b9049910e935c8bc2651c2eda9ace98c7
--> 8bcf0430ed2c
[2/2] STEP 4/13: ENV ORACLE_JENA_HOME=/opt/oracle-jena
--> 137a6cbb1f45
[2/2] STEP 5/13: ENV PATH $ORACLE_JENA_HOME/bin:$JAVA_HOME/bin:$PATH
--> 541c78a03a5a
[2/2] STEP 6/13: COPY --from=builder $JAVA_HOME $JAVA_HOME
--> b370d1e2b292
[2/2] STEP 7/13: COPY --from=builder $ORACLE_JENA_HOME $ORACLE_JENA_HOME
--> 8f047bd0a9a7
[2/2] STEP 8/13: RUN set -eux; dnf -y update; dnf install -y freetype fontconfig tar unzip ; rm -rf /var/cache/dnf; ln -sfT "$JAVA_HOME" /usr/java/default; ln -sfT "$JAVA_HOME" /usr/java/latest; for bin in "$JAVA_HOME/bin/"*; do base="$(basename "$bin")"; [ ! -e "/usr/bin/$base" ]; alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; done; java -Xshare:dump;
+ dnf -y update
Oracle Linux 8 BaseOS Latest (aarch64) 7.1 MB/s | 148 MB 00:20
Oracle Linux 8 Application Stream (aarch64) 6.6 MB/s | 66 MB 00:09
Last metadata expiration check: 0:00:10 ago on Fri 14 Nov 2025 02:58:53 AM UTC.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Upgrading:
bash aarch64 4.4.20-6.el8_10 ol8_baseos_latest 1.5 M
bind-export-libs aarch64 32:9.11.36-16.el8_10.6 ol8_baseos_latest 1.1 M
ca-certificates noarch 2025.2.80_v9.0.304-80.2.el8_10
[中略]
Installed:
libxkbcommon-0.9.1-1.el8.aarch64 shared-mime-info-1.9-4.el8.aarch64
trousers-0.3.15-2.el8.aarch64 trousers-lib-0.3.15-2.el8.aarch64
xkeyboard-config-2.28-1.el8.noarch
Complete!
+ dnf install -y freetype fontconfig tar unzip
Last metadata expiration check: 0:00:21 ago on Fri 14 Nov 2025 02:58:53 AM UTC.
Package tar-2:1.30-11.el8_10.aarch64 is already installed.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
fontconfig aarch64 2.13.1-4.el8 ol8_baseos_latest 272 k
freetype aarch64 2.9.1-10.el8_10 ol8_baseos_latest 369 k
unzip aarch64 6.0-48.0.1.el8_10 ol8_baseos_latest 189 k
Installing dependencies:
dejavu-fonts-common noarch 2.35-7.el8 ol8_baseos_latest 74 k
dejavu-sans-fonts noarch 2.35-7.el8 ol8_baseos_latest 1.5 M
fontpackages-filesystem noarch 1.44-22.el8 ol8_baseos_latest 16 k
libpng aarch64 2:1.6.34-5.el8 ol8_baseos_latest 119 k
Transaction Summary
================================================================================
Install 7 Packages
Total download size: 2.5 M
Installed size: 8.1 M
Downloading Packages:
(1/7): dejavu-fonts-common-2.35-7.el8.noarch.rp 469 kB/s | 74 kB 00:00
(2/7): fontpackages-filesystem-1.44-22.el8.noar 434 kB/s | 16 kB 00:00
(3/7): fontconfig-2.13.1-4.el8.aarch64.rpm 1.3 MB/s | 272 kB 00:00
(4/7): libpng-1.6.34-5.el8.aarch64.rpm 1.8 MB/s | 119 kB 00:00
(5/7): freetype-2.9.1-10.el8_10.aarch64.rpm 2.0 MB/s | 369 kB 00:00
(6/7): unzip-6.0-48.0.1.el8_10.aarch64.rpm 1.7 MB/s | 189 kB 00:00
(7/7): dejavu-sans-fonts-2.35-7.el8.noarch.rpm 2.2 MB/s | 1.5 MB 00:00
--------------------------------------------------------------------------------
Total 3.6 MB/s | 2.5 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : fontpackages-filesystem-1.44-22.el8.noarch 1/7
Installing : dejavu-fonts-common-2.35-7.el8.noarch 2/7
Installing : dejavu-sans-fonts-2.35-7.el8.noarch 3/7
Installing : libpng-2:1.6.34-5.el8.aarch64 4/7
Installing : freetype-2.9.1-10.el8_10.aarch64 5/7
Installing : fontconfig-2.13.1-4.el8.aarch64 6/7
Running scriptlet: fontconfig-2.13.1-4.el8.aarch64 6/7
Installing : unzip-6.0-48.0.1.el8_10.aarch64 7/7
Running scriptlet: unzip-6.0-48.0.1.el8_10.aarch64 7/7
Running scriptlet: fontconfig-2.13.1-4.el8.aarch64 7/7
Verifying : dejavu-fonts-common-2.35-7.el8.noarch 1/7
Verifying : dejavu-sans-fonts-2.35-7.el8.noarch 2/7
Verifying : fontconfig-2.13.1-4.el8.aarch64 3/7
Verifying : fontpackages-filesystem-1.44-22.el8.noarch 4/7
Verifying : freetype-2.9.1-10.el8_10.aarch64 5/7
Verifying : libpng-2:1.6.34-5.el8.aarch64 6/7
Verifying : unzip-6.0-48.0.1.el8_10.aarch64 7/7
Installed:
dejavu-fonts-common-2.35-7.el8.noarch
dejavu-sans-fonts-2.35-7.el8.noarch
fontconfig-2.13.1-4.el8.aarch64
fontpackages-filesystem-1.44-22.el8.noarch
freetype-2.9.1-10.el8_10.aarch64
libpng-2:1.6.34-5.el8.aarch64
unzip-6.0-48.0.1.el8_10.aarch64
Complete!
+ rm -rf /var/cache/dnf
+ ln -sfT /usr/java/jdk-11 /usr/java/default
+ ln -sfT /usr/java/jdk-11 /usr/java/latest
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jar
+ base=jar
+ '[' '!' -e /usr/bin/jar ']'
+ alternatives --install /usr/bin/jar jar /usr/java/jdk-11/bin/jar 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jarsigner
+ base=jarsigner
+ '[' '!' -e /usr/bin/jarsigner ']'
+ alternatives --install /usr/bin/jarsigner jarsigner /usr/java/jdk-11/bin/jarsigner 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/java
+ base=java
+ '[' '!' -e /usr/bin/java ']'
+ alternatives --install /usr/bin/java java /usr/java/jdk-11/bin/java 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/javac
+ base=javac
+ '[' '!' -e /usr/bin/javac ']'
+ alternatives --install /usr/bin/javac javac /usr/java/jdk-11/bin/javac 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/javadoc
+ base=javadoc
+ '[' '!' -e /usr/bin/javadoc ']'
+ alternatives --install /usr/bin/javadoc javadoc /usr/java/jdk-11/bin/javadoc 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/javap
+ base=javap
+ '[' '!' -e /usr/bin/javap ']'
+ alternatives --install /usr/bin/javap javap /usr/java/jdk-11/bin/javap 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jcmd
+ base=jcmd
+ '[' '!' -e /usr/bin/jcmd ']'
+ alternatives --install /usr/bin/jcmd jcmd /usr/java/jdk-11/bin/jcmd 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jconsole
+ base=jconsole
+ '[' '!' -e /usr/bin/jconsole ']'
+ alternatives --install /usr/bin/jconsole jconsole /usr/java/jdk-11/bin/jconsole 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jdb
+ base=jdb
+ '[' '!' -e /usr/bin/jdb ']'
+ alternatives --install /usr/bin/jdb jdb /usr/java/jdk-11/bin/jdb 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jdeprscan
+ base=jdeprscan
+ '[' '!' -e /usr/bin/jdeprscan ']'
+ alternatives --install /usr/bin/jdeprscan jdeprscan /usr/java/jdk-11/bin/jdeprscan 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jdeps
+ base=jdeps
+ '[' '!' -e /usr/bin/jdeps ']'
+ alternatives --install /usr/bin/jdeps jdeps /usr/java/jdk-11/bin/jdeps 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jfr
+ base=jfr
+ '[' '!' -e /usr/bin/jfr ']'
+ alternatives --install /usr/bin/jfr jfr /usr/java/jdk-11/bin/jfr 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jhsdb
+ base=jhsdb
+ '[' '!' -e /usr/bin/jhsdb ']'
+ alternatives --install /usr/bin/jhsdb jhsdb /usr/java/jdk-11/bin/jhsdb 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jimage
+ base=jimage
+ '[' '!' -e /usr/bin/jimage ']'
+ alternatives --install /usr/bin/jimage jimage /usr/java/jdk-11/bin/jimage 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jinfo
+ base=jinfo
+ '[' '!' -e /usr/bin/jinfo ']'
+ alternatives --install /usr/bin/jinfo jinfo /usr/java/jdk-11/bin/jinfo 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jjs
+ base=jjs
+ '[' '!' -e /usr/bin/jjs ']'
+ alternatives --install /usr/bin/jjs jjs /usr/java/jdk-11/bin/jjs 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jlink
+ base=jlink
+ '[' '!' -e /usr/bin/jlink ']'
+ alternatives --install /usr/bin/jlink jlink /usr/java/jdk-11/bin/jlink 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jmap
+ base=jmap
+ '[' '!' -e /usr/bin/jmap ']'
+ alternatives --install /usr/bin/jmap jmap /usr/java/jdk-11/bin/jmap 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jmod
+ base=jmod
+ '[' '!' -e /usr/bin/jmod ']'
+ alternatives --install /usr/bin/jmod jmod /usr/java/jdk-11/bin/jmod 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jps
+ base=jps
+ '[' '!' -e /usr/bin/jps ']'
+ alternatives --install /usr/bin/jps jps /usr/java/jdk-11/bin/jps 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jrunscript
+ base=jrunscript
+ '[' '!' -e /usr/bin/jrunscript ']'
+ alternatives --install /usr/bin/jrunscript jrunscript /usr/java/jdk-11/bin/jrunscript 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jshell
+ base=jshell
+ '[' '!' -e /usr/bin/jshell ']'
+ alternatives --install /usr/bin/jshell jshell /usr/java/jdk-11/bin/jshell 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jstack
+ base=jstack
+ '[' '!' -e /usr/bin/jstack ']'
+ alternatives --install /usr/bin/jstack jstack /usr/java/jdk-11/bin/jstack 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jstat
+ base=jstat
+ '[' '!' -e /usr/bin/jstat ']'
+ alternatives --install /usr/bin/jstat jstat /usr/java/jdk-11/bin/jstat 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/jstatd
+ base=jstatd
+ '[' '!' -e /usr/bin/jstatd ']'
+ alternatives --install /usr/bin/jstatd jstatd /usr/java/jdk-11/bin/jstatd 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/keytool
+ base=keytool
+ '[' '!' -e /usr/bin/keytool ']'
+ alternatives --install /usr/bin/keytool keytool /usr/java/jdk-11/bin/keytool 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/pack200
+ base=pack200
+ '[' '!' -e /usr/bin/pack200 ']'
+ alternatives --install /usr/bin/pack200 pack200 /usr/java/jdk-11/bin/pack200 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/rmic
+ base=rmic
+ '[' '!' -e /usr/bin/rmic ']'
+ alternatives --install /usr/bin/rmic rmic /usr/java/jdk-11/bin/rmic 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/rmid
+ base=rmid
+ '[' '!' -e /usr/bin/rmid ']'
+ alternatives --install /usr/bin/rmid rmid /usr/java/jdk-11/bin/rmid 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/rmiregistry
+ base=rmiregistry
+ '[' '!' -e /usr/bin/rmiregistry ']'
+ alternatives --install /usr/bin/rmiregistry rmiregistry /usr/java/jdk-11/bin/rmiregistry 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/serialver
+ base=serialver
+ '[' '!' -e /usr/bin/serialver ']'
+ alternatives --install /usr/bin/serialver serialver /usr/java/jdk-11/bin/serialver 20000
+ for bin in "$JAVA_HOME/bin/"*
++ basename /usr/java/jdk-11/bin/unpack200
+ base=unpack200
+ '[' '!' -e /usr/bin/unpack200 ']'
+ alternatives --install /usr/bin/unpack200 unpack200 /usr/java/jdk-11/bin/unpack200 20000
+ java -Xshare:dump
narrow_klass_base = 0x0000000800000000, narrow_klass_shift = 3
Allocated temporary class space: 1073741824 bytes at 0x00000008c0000000
Allocated shared space: 3221225472 bytes at 0x0000000800000000
Loading classes to share ...
Loading classes to share: done.
Rewriting and linking classes ...
Rewriting and linking classes: done
Number of classes 1218
instance classes = 1158
obj array classes = 52
type array classes = 8
Updating ConstMethods ... done.
Removing unshareable information ... done.
Scanning all metaspace objects ...
Allocating RW objects ...
Allocating RO objects ...
Relocating embedded pointers ...
Relocating external roots ...
Dumping symbol table ...
Dumping objects to closed archive heap region ...
Dumping objects to open archive heap region ...
Relocating SystemDictionary::_well_known_klasses[] ...
Removing java_mirror ... done.
mc space: 8192 [ 0.1% of total] out of 65536 bytes [ 12.5% used] at 0x0000000800000000
rw space: 3847072 [ 32.0% of total] out of 3866624 bytes [ 99.5% used] at 0x0000000800010000
ro space: 7157720 [ 59.5% of total] out of 7208960 bytes [ 99.3% used] at 0x00000008003c0000
md space: 2560 [ 0.0% of total] out of 65536 bytes [ 3.9% used] at 0x0000000800aa0000
st0 space: 413696 [ 3.4% of total] out of 413696 bytes [100.0% used] at 0x00000007bfe00000
oa0 space: 212992 [ 1.8% of total] out of 212992 bytes [100.0% used] at 0x00000007bfc00000
bm space: 196616 [ 1.6% of total] out of 196616 bytes [100.0% used] at 0x0000000000000000
total : 11642232 [100.0% of total] out of 12029960 bytes [ 96.8% used]
--> 0d4add3e6d9d
[2/2] STEP 9/13: COPY config-oracle.ttl /opt/oracle-jena/fuseki/run/config.ttl
--> 2d530392c734
[2/2] STEP 10/13: COPY shiro.ini /opt/oracle-jena/fuseki/run/shiro.ini
--> 1f2898bdb7b5
[2/2] STEP 11/13: EXPOSE 3030
--> ba71b065d449
[2/2] STEP 12/13: WORKDIR ${ORACLE_JENA_HOME}/fuseki
--> 2c9bd7c5ed98
[2/2] STEP 13/13: CMD ["sh","fuseki-server"]
[2/2] COMMIT oracle-jena
--> 576bfdd5eacd
Successfully tagged localhost/oracle-jena:latest
576bfdd5eacdc1c8600152dc2ab9fff372be14542cb0666f0cdad5a11195a8e5
ynakakoshi@Ns-Macbook jena %
jena % podman run -d --name my-ora-jena -p 3030:3030 oracle-jena
aff1b23d7f973f5c351236d9b92e8d9870828aaad5588c0459947f7a5738809b
jena %



