Skip to content

Commit 787146c

Browse files
committed
docs: update README for Alpine migration
- Update description and migration section for Alpine base - Remove SHA256 checksum build args (no longer used) - Note that VERSION and VERSION-alpine tags are the same image CLM-39066
1 parent 2c1dd1c commit 787146c

1 file changed

Lines changed: 9 additions & 10 deletions

File tree

README.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
-->
1818
# Sonatype Nexus IQ Server Docker: sonatype/nexus-iq-server
1919

20-
A Dockerfile for Sonatype Nexus IQ Server, based on [Sonatype Infosec Hardened Base Images](https://sonatype.repo.sonatype.app) (Chainguard Wolfi).
20+
A Dockerfile for Sonatype Nexus IQ Server, based on Alpine Linux.
2121

2222
* [Migration](#migration)
2323
* [Runtime Server Configuation](#runtime-server-configuration)
@@ -32,17 +32,18 @@ A Dockerfile for Sonatype Nexus IQ Server, based on [Sonatype Infosec Hardened B
3232

3333
## Migration
3434

35-
### Upgrading to Infosec Hardened Base Image (Current)
35+
### Upgrading to Alpine Base Image (Current)
3636

37-
The Docker image has been migrated from Red Hat UBI 9 Minimal to Sonatype's infosec hardened base image built on Chainguard Wolfi. Key changes:
37+
The Docker image has been migrated from Sonatype infosec hardened base images (Chainguard Wolfi) to Alpine Linux. Key changes:
3838

39-
- **Base image:** Wolfi-based distroless image (`sonatype-infosec/jdk:openjdk-17`) instead of UBI 9 Minimal
39+
- **Base image:** Alpine 3 with `FROM scratch` runtime (no package manager, no shell)
40+
- **JVM:** OpenJDK 17 from Alpine's `openjdk17-jre-headless` package (supports amd64 and arm64)
4041
- **User:** The container runs as `nexus` (UID 1000)
41-
- **Init daemon:** `tini` is used as the init process for proper zombie process reaping
42-
- **Health check:** Uses `localcheck` (built into base image) instead of `curl`
43-
- **No shell or standard utilities:** The runtime image is distroless — there is no `/bin/sh`, `bash`, `cat`, `ls`, `grep`, `ps`, etc. See [Debugging Without a Shell](#debugging-without-a-shell) below for the practical implications.
42+
- **Init daemon:** `tini-static` is used as the init process for proper zombie process reaping
43+
- **Health check:** Uses `localcheck` (compiled from source in the build stage) instead of `curl`
44+
- **No shell or standard utilities:** The runtime image has no `/bin/sh`, `bash`, `cat`, `ls`, `grep`, `ps`, etc. See [Debugging Without a Shell](#debugging-without-a-shell) below for the practical implications.
4445
- **JVM stderr location:** Because the launcher runs the JVM directly (no wrapper shell), it redirects `stderr` to `/var/log/nexus-iq-server/stderr.log` inside the container so that errors are still captured. `docker logs` will not show `stderr`; only the Dropwizard/Logback `stdout` appender does.
45-
- **Removed variants:** The `-slim` and `-alpine` image tags are no longer published
46+
- **Alpine tags:** Both `VERSION` and `VERSION-alpine` tags are published (they point to the same image)
4647

4748
#### Debugging Without a Shell
4849

@@ -237,8 +238,6 @@ To build a docker image from the Dockerfile you can use this command:
237238
The following optional variables can be used when building the image:
238239

239240
- IQ_SERVER_VERSION: Version of Nexus IQ Server
240-
- IQ_SERVER_SHA256_X86_64: Check hash for x86_64 archive
241-
- IQ_SERVER_SHA256_AARCH: Check hash for aarch64 archive
242241
- SONATYPE_WORK: Path to Nexus IQ Server working directory where variable data is stored
243242
- LOGS_HOME: Path to Nexus IQ Server directory where logs are stored
244243

0 commit comments

Comments
 (0)