Backdocker.io/tomcat
docker.ioOfficial

docker.io/tomcat:9.0.110-jdk8-corretto-al2

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

Size
149.61 MB
Local pulls
5
Upstream pulls
820,750,519
Synced at
2026-08-15 07:50:56

China image

registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.110-jdk8-corretto-al2

Source image

docker.io/tomcat:9.0.110-jdk8-corretto-al2

Image info

Image ID
sha256:870c815016c8b945e4e04332296d5bc4af87cee952db2ea394e6d40b37892271
Image tag
9.0.110-jdk8-corretto-al2
Image size
149.61 MB
Platform
linux/amd64
Registry
docker.io
CMD
catalina.sh run
Entrypoint
Working dir
/usr/local/tomcat
User
StopSignal
Created
2025-10-07T02:34:01.388Z

Exposed ports 1

  • 8080/tcp

Environment 9

PATH/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANGC.UTF-8
JAVA_HOME/usr/lib/jvm/java-1.8.0-amazon-corretto
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.110
TOMCAT_SHA5125783b88b4bb2fc1dbd10be072deccec0ec96c35b8de09d65b96a8f846e84f4655ddfa43a22e58ace6bf02a653d80629039c733c4b1ff628fa9501048318537f0

Pull commands

Docker
docker pull registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.110-jdk8-corretto-al2
docker tag registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.110-jdk8-corretto-al2 docker.io/tomcat:9.0.110-jdk8-corretto-al2
Containerd
ctr images pull registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.110-jdk8-corretto-al2
ctr images tag registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.110-jdk8-corretto-al2 docker.io/tomcat:9.0.110-jdk8-corretto-al2
YAML quick replace
sed -i 's#docker.io/tomcat:9.0.110-jdk8-corretto-al2#registry.cn-global.starbucket.com.cn/starbucket/docker.io/library/tomcat:9.0.110-jdk8-corretto-al2#' 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 19

2025-10-06 20:03:39empty layer
CMD ["catalina.sh" "run"]
2025-10-06 20:03:39empty layer
EXPOSE map[8080/tcp:{}]
2025-10-06 20:03:39
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-10-06 20:03:39
RUN /bin/sh -c set -eux; 		if ! command -v yumdb > /dev/null; then 		yum install -y --setopt=skip_missing_names_on_install=False yum-utils; 		yumdb set reason dep yum-utils; 	fi; 	_yum_install_temporary() { ( set -eu +x; 		local pkg todo=''; 		for pkg; do 			if ! rpm --query "$pkg" > /dev/null 2>&1; then 				todo="$todo $pkg"; 			fi; 		done; 		if [ -n "$todo" ]; then 			set -x; 			yum install -y --setopt=skip_missing_names_on_install=False $todo; 			yumdb set reason dep $todo; 		fi; 	) }; 	_yum_install_temporary gzip tar; 		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; 	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*; 	rm -rf "$GNUPGHOME"; 		mv webapps webapps.dist; 	mkdir webapps; 		nativeBuildDir="$(mktemp -d)"; 	tar -xf bin/tomcat-native.tar.gz -C "$nativeBuildDir" --strip-components=1; 	_yum_install_temporary 		apr-devel 		gcc 		make 		openssl11-devel 	; 	( 		export CATALINA_HOME="$PWD"; 		cd "$nativeBuildDir/native"; 		aprConfig="$(command -v apr-1-config)"; 		./configure 			--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; 		find "$TOMCAT_NATIVE_LIBDIR" -type f -executable -exec ldd '{}' ';' 		| awk '/=>/ && $(NF-1) != "=>" { print $(NF-1) }' 		| xargs -rt readlink -e 		| sort -u 		| xargs -rt rpm --query --whatprovides 		| sort -u 		| tee "$TOMCAT_NATIVE_LIBDIR/.dependencies.txt" 		| xargs -r yumdb set reason user 	; 		yum autoremove -y; 	yum clean all; 	rm -rf /var/cache/yum; 		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-10-06 20:03:39empty layer
ENV TOMCAT_SHA512=5783b88b4bb2fc1dbd10be072deccec0ec96c35b8de09d65b96a8f846e84f4655ddfa43a22e58ace6bf02a653d80629039c733c4b1ff628fa9501048318537f0
2025-10-06 20:03:39empty layer
ENV TOMCAT_VERSION=9.0.110
2025-10-06 20:03:39empty layer
ENV TOMCAT_MAJOR=9
2025-10-06 20:03:39empty layer
ENV LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib