Backdocker.io/tomcat
docker.ioOfficial

docker.io/tomcat:9.0.99-jdk17-temurin-noble

Apache Tomcat is an open source implementation of the Java Servlet and JavaServer Pages technologies

Size
207.33 MB
Local pulls
5
Upstream pulls
820,750,519
Synced at
2026-08-15 07:51:35

China image

registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.99-jdk17-temurin-noble

Source image

docker.io/tomcat:9.0.99-jdk17-temurin-noble

Image info

Image ID
sha256:334c4ec0c680352777f7b852447f6b3c3deae8b56798f5ff158539c436923727
Image tag
9.0.99-jdk17-temurin-noble
Image size
207.33 MB
Platform
linux/arm/v7
Registry
docker.io
CMD
catalina.sh run
Entrypoint
Working dir
/usr/local/tomcat
User
StopSignal
Created
2025-02-11T03:36:30.146Z

Exposed ports 1

  • 8080/tcp

Environment 12

PATH/usr/local/tomcat/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
JAVA_HOME/opt/java/openjdk
LANGen_US.UTF-8
LANGUAGEen_US:en
LC_ALLen_US.UTF-8
JAVA_VERSIONjdk-17.0.14+7
CATALINA_HOME/usr/local/tomcat
TOMCAT_NATIVE_LIBDIR/usr/local/tomcat/native-jni-lib
LD_LIBRARY_PATH/usr/local/tomcat/native-jni-lib
TOMCAT_MAJOR9
TOMCAT_VERSION9.0.99
TOMCAT_SHA512bf406b3e288e1732d82d08f54e160095451a6cc969f72adf395c074d6d08893ef1ccd2afcd55f01ca8e54131f587c88055832f36330a1ede0cc2f84440cf54df

Labels 2

org.opencontainers.image.version24.04
org.opencontainers.image.ref.nameubuntu

Pull commands

Docker
docker pull registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.99-jdk17-temurin-noble
docker tag registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.99-jdk17-temurin-noble docker.io/tomcat:9.0.99-jdk17-temurin-noble
Containerd
ctr images pull registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.99-jdk17-temurin-noble
ctr images tag registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.99-jdk17-temurin-noble docker.io/tomcat:9.0.99-jdk17-temurin-noble
YAML quick replace
sed -i 's#docker.io/tomcat:9.0.99-jdk17-temurin-noble#registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.99-jdk17-temurin-noble#' deployment.yaml
Global registry mirror
Docker

Write Docker daemon.json so registry-mirrors points to this site, then restart Docker

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": ["https://registry.cn-global.starbucket.com.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Containerd

Write containerd certs.d hosts.toml so docker.io pulls via this site, then restart containerd

sudo mkdir -p /etc/containerd/certs.d/docker.io
sudo tee /etc/containerd/certs.d/docker.io/hosts.toml <<'EOF'
server = "https://docker.io"

[host."https://registry.cn-global.starbucket.com.cn"]
  capabilities = ["pull", "resolve"]
EOF
sudo mkdir -p /etc/containerd
if [ ! -f /etc/containerd/config.toml ]; then
  sudo containerd config default | sudo tee /etc/containerd/config.toml >/dev/null
fi
sudo sed -i 's#config_path = ""#config_path = "/etc/containerd/certs.d"#' /etc/containerd/config.toml
sudo systemctl restart containerd

Build history 30

2025-02-10 15:23:35empty layer
CMD ["catalina.sh" "run"]
2025-02-10 15:23:35empty layer
ENTRYPOINT []
2025-02-10 15:23:35empty layer
EXPOSE map[8080/tcp:{}]
2025-02-10 15:23:35
RUN /bin/sh -c set -eux; 	nativeLines="$(catalina.sh configtest 2>&1)"; 	nativeLines="$(echo "$nativeLines" | grep 'Apache Tomcat Native')"; 	nativeLines="$(echo "$nativeLines" | sort -u)"; 	if ! echo "$nativeLines" | grep -E 'INFO: Loaded( APR based)? Apache Tomcat Native library' >&2; then 		echo >&2 "$nativeLines"; 		exit 1; 	fi # buildkit
2025-02-10 15:23:35
RUN /bin/sh -c set -eux; 		savedAptMark="$(apt-mark showmanual)"; 	apt-get update; 	apt-get install -y --no-install-recommends 		ca-certificates 		curl 		gnupg 	; 		ddist() { 		local f="$1"; shift; 		local distFile="$1"; shift; 		local mvnFile="${1:-}"; 		local success=; 		local distUrl=; 		for distUrl in 			"https://dlcdn.apache.org/$distFile" 			"https://archive.apache.org/dist/$distFile" 			${mvnFile:+"https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/$mvnFile"} 		; do 			if curl -fL -o "$f" "$distUrl" && [ -s "$f" ]; then 				success=1; 				break; 			fi; 		done; 		[ -n "$success" ]; 	}; 		ddist 'tomcat.tar.gz' "tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz" "$TOMCAT_VERSION/tomcat-$TOMCAT_VERSION.tar.gz"; 	echo "$TOMCAT_SHA512 *tomcat.tar.gz" | sha512sum --strict --check -; 	ddist 'tomcat.tar.gz.asc' "tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz.asc" "$TOMCAT_VERSION/tomcat-$TOMCAT_VERSION.tar.gz.asc"; 	GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; 	curl -fL -o upstream-KEYS 'https://www.apache.org/dist/tomcat/tomcat-9/KEYS'; 	gpg --batch --import upstream-KEYS; 	printf '' > filtered-KEYS; 	for key in 		'DCFD35E0BF8CA7344752DE8B6FB21E8933C60243' 		'A9C5DF4D22E99998D9875A5110C01C5A2F6059E7' 		'48F8E69F6390C9F25CFEDCD268248959359E722B' 	; do 		gpg --batch --fingerprint "$key"; 		gpg --batch --export --armor "$key" >> filtered-KEYS; 	done; 	gpgconf --kill all; 	rm -rf "$GNUPGHOME"; 	GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; 	gpg --batch --import filtered-KEYS; 	gpg --batch --verify tomcat.tar.gz.asc tomcat.tar.gz; 	tar -xf tomcat.tar.gz --strip-components=1; 	rm bin/*.bat; 	rm tomcat.tar.gz*; 	gpgconf --kill all; 	rm -rf "$GNUPGHOME"; 		mv webapps webapps.dist; 	mkdir webapps; 		nativeBuildDir="$(mktemp -d)"; 	tar -xf bin/tomcat-native.tar.gz -C "$nativeBuildDir" --strip-components=1; 	apt-get install -y --no-install-recommends 		dpkg-dev 		gcc 		libapr1-dev 		libssl-dev 		make 	; 	( 		export CATALINA_HOME="$PWD"; 		cd "$nativeBuildDir/native"; 		gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; 		aprConfig="$(command -v apr-1-config)"; 		./configure 			--build="$gnuArch" 			--libdir="$TOMCAT_NATIVE_LIBDIR" 			--prefix="$CATALINA_HOME" 			--with-apr="$aprConfig" 			--with-java-home="$JAVA_HOME" 			--with-ssl 		; 		nproc="$(nproc)"; 		make -j "$nproc"; 		make install; 	); 	rm -rf "$nativeBuildDir"; 	rm bin/tomcat-native.tar.gz; 		apt-mark auto '.*' > /dev/null; 	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; 	find "$TOMCAT_NATIVE_LIBDIR" -type f -executable -exec ldd '{}' ';' 		| awk '/=>/ { print $(NF-1) }' 		| xargs -rt readlink -e 		| sort -u 		| xargs -rt dpkg-query --search 		| cut -d: -f1 		| sort -u 		| tee "$TOMCAT_NATIVE_LIBDIR/.dependencies.txt" 		| xargs -r apt-mark manual 	; 		apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; 	rm -rf /var/lib/apt/lists/*; 		find ./bin/ -name '*.sh' -exec sed -ri 's|^#!/bin/sh$|#!/usr/bin/env bash|' '{}' +; 		chmod -R +rX .; 	chmod 1777 logs temp work; 		catalina.sh version # buildkit
2025-02-10 15:23:35empty layer
ENV TOMCAT_SHA512=bf406b3e288e1732d82d08f54e160095451a6cc969f72adf395c074d6d08893ef1ccd2afcd55f01ca8e54131f587c88055832f36330a1ede0cc2f84440cf54df
2025-02-10 15:23:35empty layer
ENV TOMCAT_VERSION=9.0.99
2025-02-10 15:23:35empty layer
ENV TOMCAT_MAJOR=9