镜像构建历史
# 2025-11-06 03:55:37 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/tmp/jetty]
# 2025-11-06 03:55:37 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/entrypoint.sh"]
# 2025-11-06 03:55:37 0.00B 指定运行容器时使用的用户
USER jetty
# 2025-11-06 03:55:37 0.00B 执行命令并创建新的镜像层
RUN |2 GRAPHVIZ_VERSION=14.0.1 GRAPHVIZ_BUILD_DIR=/tmp/graphiz-build /bin/sh -c chgrp -R 0 /tmp && chmod -R g=u /tmp # buildkit
# 2025-11-06 03:55:37 10.46KB 执行命令并创建新的镜像层
RUN |2 GRAPHVIZ_VERSION=14.0.1 GRAPHVIZ_BUILD_DIR=/tmp/graphiz-build /bin/sh -c chgrp -R 0 $JETTY_BASE && chmod -R g=u $JETTY_BASE # buildkit
# 2025-11-06 03:55:36 0.00B 指定运行容器时使用的用户
USER root
# 2025-11-06 03:55:36 323.00B 复制新文件或目录到容器中
COPY ROOT.jetty.xml /var/lib/jetty/webapps/ROOT.xml # buildkit
# 2025-11-06 03:55:36 65.69MB 复制新文件或目录到容器中
COPY /app/target/plantuml.war /plantuml.war # buildkit
# 2025-11-06 03:55:36 0.00B 执行命令并创建新的镜像层
RUN |2 GRAPHVIZ_VERSION=14.0.1 GRAPHVIZ_BUILD_DIR=/tmp/graphiz-build /bin/sh -c rm -rf $WEBAPP_PATH && mkdir -p $WEBAPP_PATH # buildkit
# 2025-11-06 03:55:36 0.00B 设置环境变量 WEBAPP_PATH
ENV WEBAPP_PATH=/var/lib/jetty/webapps
# 2025-11-06 03:55:36 0.00B 指定运行容器时使用的用户
USER jetty
# 2025-11-06 03:55:36 0.00B 执行命令并创建新的镜像层
RUN |2 GRAPHVIZ_VERSION=14.0.1 GRAPHVIZ_BUILD_DIR=/tmp/graphiz-build /bin/sh -c chmod +x /entrypoint.sh # buildkit
# 2025-11-06 03:55:36 318.00B 复制新文件或目录到容器中
COPY docker-entrypoint.jetty.sh /entrypoint.sh # buildkit
# 2025-11-06 03:55:36 71.64MB 执行命令并创建新的镜像层
RUN |2 GRAPHVIZ_VERSION=14.0.1 GRAPHVIZ_BUILD_DIR=/tmp/graphiz-build /bin/sh -c apt-get update && apt-get install -y --no-install-recommends build-essential jq libexpat1-dev libgd-dev zlib1g-dev && mkdir -p $GRAPHVIZ_BUILD_DIR && cd $GRAPHVIZ_BUILD_DIR && curl -o graphviz.tar.gz https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/${GRAPHVIZ_VERSION}/graphviz-${GRAPHVIZ_VERSION}.tar.gz && tar -xzf graphviz.tar.gz && cd graphviz-$GRAPHVIZ_VERSION && ./configure && make && make install && apt-get remove -y build-essential jq libexpat1-dev libgd-dev zlib1g-dev && apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* && rm -rf $GRAPHVIZ_BUILD_DIR # buildkit
# 2025-11-06 03:52:20 0.00B 定义构建参数
ARG GRAPHVIZ_BUILD_DIR=/tmp/graphiz-build
# 2025-11-06 03:52:20 0.00B 定义构建参数
ARG GRAPHVIZ_VERSION=14.0.1
# 2025-11-06 03:52:20 106.40MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends curl fonts-noto-cjk libgd3 && rm -rf /var/lib/apt/lists/* && /generate-jetty-start.sh # buildkit
# 2025-11-06 03:52:20 0.00B 指定运行容器时使用的用户
USER root
# 2025-11-06 03:52:06 3.18KB 执行命令并创建新的镜像层
RUN /bin/sh -c sed -i 's/# jetty\.httpConfig\.uriCompliance=DEFAULT/jetty.httpConfig.uriCompliance=DEFAULT,AMBIGUOUS_EMPTY_SEGMENT/g' /var/lib/jetty/start.d/server.ini # buildkit
# 2025-01-14 13:07:03 0.00B 设置默认要执行的命令
CMD ["java" "-jar" "/usr/local/jetty/start.jar"]
# 2025-01-14 13:07:03 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/docker-entrypoint.sh"]
# 2025-01-14 13:07:03 0.00B 声明容器运行时监听的端口
EXPOSE map[8080/tcp:{}]
# 2025-01-14 13:07:03 0.00B 指定运行容器时使用的用户
USER jetty
# 2025-01-14 13:07:03 3.94KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh generate-jetty-start.sh / # buildkit
# 2025-01-14 13:07:03 0.00B 设置工作目录为/var/lib/jetty
WORKDIR /var/lib/jetty
# 2025-01-14 13:07:03 17.14MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -xe ; export savedAptMark="$(apt-mark showmanual)" ; mkdir -p $TMPDIR ; apt-get update ; apt-get install -y --no-install-recommends ca-certificates p11-kit gnupg2 curl ; export GNUPGHOME=/jetty-keys ; mkdir -p "$GNUPGHOME" ; for key in $JETTY_GPG_KEYS; do gpg --batch --keyserver "hkps://keyserver.ubuntu.com" --recv-keys "$key"; done ; mkdir -p "$JETTY_HOME" ; cd $JETTY_HOME ; curl -SL "$JETTY_TGZ_URL" -o jetty.tar.gz ; curl -SL "$JETTY_TGZ_URL.asc" -o jetty.tar.gz.asc ; gpg --batch --verify jetty.tar.gz.asc jetty.tar.gz ; tar -xvf jetty.tar.gz --strip-components=1 ; sed -i '/jetty-logging/d' etc/jetty.conf ; mkdir -p "$JETTY_BASE" ; cd $JETTY_BASE ; case "$JETTY_VERSION" in "12."*) START_MODULES="server,http,ext,resources" ;; *) START_MODULES="server,http,deploy,ext,resources,jsp,jstl,websocket" ;; esac ; java -jar "$JETTY_HOME/start.jar" --create-startd --add-to-start="$START_MODULES" ; groupadd -r jetty && useradd -r -g jetty jetty ; chown -R jetty:jetty "$JETTY_HOME" "$JETTY_BASE" "$TMPDIR" ; usermod -d $JETTY_BASE jetty ; gpgconf --kill all ; apt-mark auto '.*' > /dev/null ; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ; rm -rf /var/lib/apt/lists/* ; rm -rf /tmp/hsperfdata_root ; rm -fr $JETTY_HOME/jetty.tar.gz* ; rm -fr /jetty-keys $GNUPGHOME ; rm -rf /tmp/hsperfdata_root ; java -jar "$JETTY_HOME/start.jar" --list-config ; # buildkit
# 2025-01-14 13:07:03 0.00B 设置环境变量 JETTY_GPG_KEYS
ENV JETTY_GPG_KEYS=AED5EE6C45D0FE8D5D1B164F27DED4BF6216DB8F 2A684B57436A81FA8706B53C61C3351A438A3B7D 5989BAF76217B843D66BE55B2D0E1FB8FE4B68B4 B59B67FD7904984367F931800818D9D68FB67BAC BFBB21C246D7776836287A48A04E0C74ABB35FEA 8B096546B1A8F02656B15D3B1677D141BCF3584D F254B35617DC255D9344BCFA873A8E86B4372146 E22488CC94F63E3FC928536C4241C08270D999C3
# 2025-01-14 13:07:03 0.00B 设置环境变量 JETTY_TGZ_URL
ENV JETTY_TGZ_URL=https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/11.0.24/jetty-home-11.0.24.tar.gz
# 2025-01-14 13:07:03 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/jetty/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-01-14 13:07:03 0.00B 设置环境变量 TMPDIR
ENV TMPDIR=/tmp/jetty
# 2025-01-14 13:07:03 0.00B 设置环境变量 JETTY_BASE
ENV JETTY_BASE=/var/lib/jetty
# 2025-01-14 13:07:03 0.00B 设置环境变量 JETTY_HOME
ENV JETTY_HOME=/usr/local/jetty
# 2025-01-14 13:07:03 0.00B 设置环境变量 JETTY_VERSION
ENV JETTY_VERSION=11.0.24
# 2025-01-14 13:07:03 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/__cacert_entrypoint.sh"]
# 2025-01-14 13:07:03 5.31KB 复制新文件或目录到容器中
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
# 2025-01-14 13:07:03 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; echo "Verifying install ..."; echo "java --version"; java --version; echo "Complete." # buildkit
# 2025-01-14 13:07:03 140.31MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='a4b0015872758aac6a5d17139e952a3951ee536ae6d9a99828823a80a71add56'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_x64_linux_hotspot_17.0.14_7.tar.gz'; ;; arm64) ESUM='bab3f352fc7144ac1435924f056872d16f4b32c8bcda58b9a77b636eb1c664f4'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_aarch64_linux_hotspot_17.0.14_7.tar.gz'; ;; armhf) ESUM='7ac439bce4d5ecddb250b31401b1c1a6da2762f51652eafedd53584a0d9e3130'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_arm_linux_hotspot_17.0.14_7.tar.gz'; ;; ppc64el) ESUM='2a730e9d34cce4d588739b626a034ed68c065a2db61048ee7886be48ec9fe460'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_ppc64le_linux_hotspot_17.0.14_7.tar.gz'; ;; riscv64) ESUM='2f77e44aa9fec9cf35b0b1fd492055e7fec0a3ea4d4338def6b42bd46d485e02'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_riscv64_linux_hotspot_17.0.14_7.tar.gz'; ;; s390x) ESUM='3887f14f95a14e65a985cfcee6696e01aadee06d3347ab70eb7d6b16ce397238'; BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.14%2B7/OpenJDK17U-jre_s390x_linux_hotspot_17.0.14_7.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget --progress=dot:giga -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; # buildkit
# 2025-01-14 13:07:03 0.00B 设置环境变量 JAVA_VERSION
ENV JAVA_VERSION=jdk-17.0.14+7
# 2025-01-14 13:07:03 44.12MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl wget gnupg fontconfig ca-certificates p11-kit tzdata locales ; echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; locale-gen en_US.UTF-8; rm -rf /var/lib/apt/lists/* # buildkit
# 2025-01-14 13:07:03 0.00B 设置环境变量 LANG LANGUAGE LC_ALL
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
# 2025-01-14 13:07:03 0.00B 设置环境变量 PATH
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-01-14 13:07:03 0.00B 设置环境变量 JAVA_HOME
ENV JAVA_HOME=/opt/java/openjdk
# 2025-01-14 13:07:03 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2025-01-14 13:07:03 78.13MB
/bin/sh -c #(nop) ADD file:6df775300d76441aa33f31b22c1afce8dfe35c8ffbc14ef27c27009235b12a95 in /
# 2025-01-14 13:07:03 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04
# 2025-01-14 13:07:03 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu
# 2025-01-14 13:07:03 0.00B
/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
# 2025-01-14 13:07:03 0.00B
/bin/sh -c #(nop) ARG RELEASE
镜像信息
{
"Id": "sha256:cebb71a0b5e7db5a4ac42f7eba9057d3bdb1a9561ad993c89b81760a1f844dee",
"RepoTags": [
"plantuml/plantuml-server:jetty-v1.2025.10",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/plantuml/plantuml-server:jetty-v1.2025.10"
],
"RepoDigests": [
"plantuml/plantuml-server@sha256:ac656ab4215fd80554c59330fd365a3b29041e317f232563c7fc807680ec4ef0",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/plantuml/plantuml-server@sha256:24bef06886f0361b35f747d4f65898ff98f1c6bcddf32ef00da44d0160d638af"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-11-05T19:55:37.151297493Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "jetty",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8080/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/jetty/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"JAVA_HOME=/opt/java/openjdk",
"LANG=en_US.UTF-8",
"LANGUAGE=en_US:en",
"LC_ALL=en_US.UTF-8",
"JAVA_VERSION=jdk-17.0.14+7",
"JETTY_VERSION=11.0.24",
"JETTY_HOME=/usr/local/jetty",
"JETTY_BASE=/var/lib/jetty",
"TMPDIR=/tmp/jetty",
"JETTY_TGZ_URL=https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/11.0.24/jetty-home-11.0.24.tar.gz",
"JETTY_GPG_KEYS=AED5EE6C45D0FE8D5D1B164F27DED4BF6216DB8F \t2A684B57436A81FA8706B53C61C3351A438A3B7D \t5989BAF76217B843D66BE55B2D0E1FB8FE4B68B4 \tB59B67FD7904984367F931800818D9D68FB67BAC \tBFBB21C246D7776836287A48A04E0C74ABB35FEA \t8B096546B1A8F02656B15D3B1677D141BCF3584D \tF254B35617DC255D9344BCFA873A8E86B4372146 \tE22488CC94F63E3FC928536C4241C08270D999C3",
"WEBAPP_PATH=/var/lib/jetty/webapps"
],
"Cmd": null,
"Image": "",
"Volumes": {
"/tmp/jetty": {}
},
"WorkingDir": "/var/lib/jetty",
"Entrypoint": [
"/entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.created": "2025-11-05T19:12:51.593Z",
"org.opencontainers.image.description": "PlantUML Online Server",
"org.opencontainers.image.licenses": "GPL-3.0",
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.revision": "4df35390e10fe5c72bcd65309ebc1f45290ec3fe",
"org.opencontainers.image.source": "https://github.com/plantuml/plantuml-server",
"org.opencontainers.image.title": "plantuml-server",
"org.opencontainers.image.url": "https://github.com/plantuml/plantuml-server",
"org.opencontainers.image.version": "v1.2025.10"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 523438557,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/cb715bad686df6d0c338fe945484922a366a0e9fca651a3b24b038b6540bac84/diff:/var/lib/docker/overlay2/5fb34284eb895e10e068f67b9cf0042ec9b8a787678a1ca83491bb1a7b76515a/diff:/var/lib/docker/overlay2/3eecc7aa9ccd78a16d76613ce9fc0ca8d9ab0e7f82ef0f471cec21302d5d97a6/diff:/var/lib/docker/overlay2/73ab116a4539723a6dea573dd211bd1c38b1bd74acf2deaeb0771e95a5765baf/diff:/var/lib/docker/overlay2/e6d1dee88520e6e54e035c82523aeab7bffc45a7d4b6d0d0bb1dcc338489098f/diff:/var/lib/docker/overlay2/521bb009e4e04e7ae74ff39d0bf81fb89e329936d1c516a894319d3ce23258a4/diff:/var/lib/docker/overlay2/647cb78e534b55f0f9a40bac78c185f65a263209edd7f0a072a260bdf004759b/diff:/var/lib/docker/overlay2/c5df89b9bdd9423b73a8068b6602fb611623b603e24408cccbe1f6b447dda98c/diff:/var/lib/docker/overlay2/0d21b06f9d1e22e1834e3215e54461b450d65119464cf89080a4bc034505c5cb/diff:/var/lib/docker/overlay2/94f676d29c930b3aadac9c74996a6de0bde191723a649c05eca79f90a5549518/diff:/var/lib/docker/overlay2/d1d5f8c7212b72d3cd875daa42018836fb7aecfdf6d7246d251d63ffd6a03970/diff:/var/lib/docker/overlay2/147c33bee7a692244d4e2f28d2b16e3262f105adfc31e56ef487a3723bbd8265/diff:/var/lib/docker/overlay2/41029c739d7e19d281a1e06362dc99525a6958494c4119dba5fc3a36a99a3586/diff:/var/lib/docker/overlay2/1bb1a05e6f1a2ff8bcf8c5f099f91f124427d588159bd79ef6ec15ec619496ea/diff:/var/lib/docker/overlay2/210f2aa7f2d8eec0f74e762880c24a5c3253680a8de3ce67fbe69884d8094acc/diff:/var/lib/docker/overlay2/021c46b03fd5fdf10de323ce61faad331284606d378bf035d598735214406436/diff:/var/lib/docker/overlay2/d5ba5778451cb9d6cd53a762324cbf17a65345e17306b42b60d69ba8f9186927/diff",
"MergedDir": "/var/lib/docker/overlay2/93bbcc8348490ba322711f686f81983a1ec8310b6144fb8c3f006fcc27c66cee/merged",
"UpperDir": "/var/lib/docker/overlay2/93bbcc8348490ba322711f686f81983a1ec8310b6144fb8c3f006fcc27c66cee/diff",
"WorkDir": "/var/lib/docker/overlay2/93bbcc8348490ba322711f686f81983a1ec8310b6144fb8c3f006fcc27c66cee/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:4b7c01ed0534d4f9be9cf97d068da1598c6c20b26cb6134fad066defdb6d541d",
"sha256:de6284456c1e615995a882c308eb10c328c882773c63efa5eea6ad7e71996a7f",
"sha256:93fbc08943f093f5980701145a851ef4411c9a3178e2628a711975e9f5335780",
"sha256:54c9f6785c7af559da7c2080d93ad9dbb6a21e05eb62eff968ca52b66b42396a",
"sha256:5eb7ec12c9bf807cee459fe990d9af8d827ab7e951e5a786457cbc20237a7711",
"sha256:317b75c29038b165cd8e52491c2b39ad58b084a1970f03d4f2833dba8562d23b",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:89d92d2e44303424fe48a08f2ce44e23b63dc1f5efa3a05c1b1ea226212b1e20",
"sha256:54864df3778243a4b19ceb5973af4e1c026b6d7353cd139aba4c90d345deec56",
"sha256:7adad8d11cc9359c89a098d314deab23cb49f85edd6fd0f3564a02d78ff37308",
"sha256:cd52d3f90bb49025e4bb33c30712c240136af8c75fcd227c0b919763db4c55c9",
"sha256:511a8579bd613da62e12546651a4a10f50d7eef4b48df2932507d4543cb6b90a",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:3ad99c74e24898c295737fbc12a5676f65daf4be74d4bb8fc004c83b06684d37",
"sha256:47004fb35890a27387daaf6ffac296bc4ffc457a9bf60c4786b874ebf8f3fe7d",
"sha256:04db4c2ab9f7f9fc9a11de443164f0b045112fa675e40d67df9c6c066bcf2448",
"sha256:c8bc9fa9e46d63d3a1be29494aae8baeb40cb255bb3041fedabbd11635e02b65"
]
},
"Metadata": {
"LastTagTime": "2025-12-30T11:17:01.706159615+08:00"
}
}