[info=0dbcbf67fe99be7fe3645f49df3b42e4]
OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/apache-tomcat-9-image?expand=0&rev=1
This commit is contained in:
commit
80fc4a9c72
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
68
Dockerfile.openjdk17
Normal file
68
Dockerfile.openjdk17
Normal file
@ -0,0 +1,68 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon.
|
||||
|
||||
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
|
||||
# It is maintained by the BCI team and generated by
|
||||
# https://github.com/SUSE/BCI-dockerfile-generator
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
|
||||
|
||||
#!UseOBSRepositories
|
||||
|
||||
#!BuildTag: opensuse/apache-tomcat:9-openjdk17
|
||||
#!BuildTag: opensuse/apache-tomcat:9-openjdk17-%RELEASE%
|
||||
#!BuildTag: opensuse/apache-tomcat:%%tomcat_version%%-openjdk17
|
||||
|
||||
FROM opensuse/bci/bci-micro:latest AS target
|
||||
FROM opensuse/tumbleweed:latest AS builder
|
||||
COPY --from=target / /target
|
||||
|
||||
RUN set -euo pipefail; \
|
||||
zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends tomcat curl sed java-17-openjdk java-17-openjdk-headless; \
|
||||
zypper -n --installroot /target remove util-linux; \
|
||||
zypper -n clean; \
|
||||
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
|
||||
FROM opensuse/bci/bci-micro:latest
|
||||
COPY --from=builder /target /
|
||||
# Define labels according to https://en.opensuse.org/Building_derived_containers
|
||||
# labelprefix=org.opensuse.application.apache-tomcat
|
||||
LABEL org.opencontainers.image.authors="openSUSE (https://www.opensuse.org/)"
|
||||
LABEL org.opencontainers.image.title="openSUSE Tumbleweed Apache Tomcat"
|
||||
LABEL org.opencontainers.image.description="Apache Tomcat is a free and open-source implementation of the Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies, based on the openSUSE Tumbleweed Base Container Image."
|
||||
LABEL org.opencontainers.image.version="%%tomcat_version%%"
|
||||
LABEL org.opencontainers.image.url="https://www.opensuse.org"
|
||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||
LABEL org.opencontainers.image.vendor="openSUSE Project"
|
||||
LABEL org.opencontainers.image.source="%SOURCEURL%"
|
||||
LABEL org.opencontainers.image.ref.name="9-openjdk17-%RELEASE%"
|
||||
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/apache-tomcat:9-openjdk17-%RELEASE%"
|
||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
|
||||
LABEL org.opensuse.release-stage="released"
|
||||
# endlabelprefix
|
||||
LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/apache-tomcat-9-image/README.openjdk17.md"
|
||||
LABEL io.artifacthub.package.logo-url="https://tomcat.apache.org/res/images/tomcat.png"
|
||||
ENV TOMCAT_MAJOR="9"
|
||||
ENV TOMCAT_VERSION="%%tomcat_version%%"
|
||||
ENV CATALINA_HOME="/usr/share/tomcat"
|
||||
ENV CATALINA_BASE="/usr/share/tomcat"
|
||||
ENV PATH="/usr/share/tomcat/bin:$PATH"
|
||||
|
||||
CMD ["/usr/libexec/tomcat/server", "start"]
|
||||
EXPOSE 8080
|
||||
RUN set -euo pipefail; mkdir -p /var/log/tomcat; chown --recursive tomcat:tomcat /var/log/tomcat
|
||||
RUN set -euo pipefail; ln -s /usr/share/tomcat /usr/local/tomcat
|
||||
RUN set -euo pipefail; \
|
||||
sed -i /etc/tomcat/logging.properties \
|
||||
-e 's|org\.apache\.catalina\.core\.ContainerBase\.\[Catalina\]\.\[localhost\]\.handlers =.*|org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = java.util.logging.ConsoleHandler|' \
|
||||
-e 's|org\.apache\.catalina\.core\.ContainerBase\.\[Catalina\]\.\[localhost\]\.\[/manager\]\.handlers =.*|org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = java.util.logging.ConsoleHandler|' \
|
||||
-e 's|org\.apache\.catalina\.core\.ContainerBase\.\[Catalina\]\.\[localhost\]\.\[/host-manager\]\.handlers =.*|org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = java.util.logging.ConsoleHandler|'
|
||||
|
||||
WORKDIR $CATALINA_HOME
|
||||
USER tomcat
|
74
README.openjdk17.md
Normal file
74
README.openjdk17.md
Normal file
@ -0,0 +1,74 @@
|
||||
# Tomcat 9 container image
|
||||
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
|
||||
|
||||
## Description
|
||||
Apache Tomcat (Tomcat for short) is a free and open-source implementation of the
|
||||
Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies. It
|
||||
provides a pure Java HTTP web server environment that can run Java code. It is a
|
||||
Java web application server and not a complete JEE application server.
|
||||
|
||||
|
||||
## Usage
|
||||
By default, the image launches Tomcat with the same configuration as the one
|
||||
that comes with SUSE Linux Enterprise Server. The difference is that logging is
|
||||
sent to stdout, meaning that the `podman logs tomcat` command displays Tomcat
|
||||
logs.
|
||||
|
||||
For security reasons, the image runs as the **tomcat** user and is installed
|
||||
on a micro base container without a package manager.
|
||||
|
||||
To deploy an application, copy the `.war` file into
|
||||
`$CATALINA_BASE/webapps` (either during a container build or by bind-mounting
|
||||
the directory), and launch the container using the following command:
|
||||
```ShellSession
|
||||
$ podman run -d --rm -p 8080:8080 registry.opensuse.org/opensuse/apache-tomcat:9-openjdk17
|
||||
```
|
||||
|
||||
The deployed webapp is then accessible via `http://localhost:8080/$webapp_name`.
|
||||
|
||||
|
||||
### How to use the image with rootless Podman
|
||||
|
||||
The container image can be used in rootless mode with Podman. Keep in mind that
|
||||
Podman remaps the `tomcat` user in the container to a different user on the
|
||||
host. This user does not have write access to the mounted directory. To avoid
|
||||
permission issues change permissions of the shared directory to `0777` as
|
||||
follows:
|
||||
|
||||
```ShellSession
|
||||
$ chmod 0777 /path/to/my/app
|
||||
$ podman run --rm -d -v /path/to/my/app:/usr/share/tomcat/webapps:z \
|
||||
-p 8080:8080 registry.opensuse.org/opensuse/apache-tomcat:9-openjdk17
|
||||
```
|
||||
|
||||
|
||||
## Configuration
|
||||
|
||||
The main Tomcat configuration files (for example
|
||||
`/etc/tomcat/logging.properties`) are stored in `/etc/tomcat/`.
|
||||
|
||||
Tomcat's runtime options can be configured using the environment variables
|
||||
`JAVA_OPTS` and `CATALINA_OPTS`. `JAVA_OPTS` specifies general options used for
|
||||
the JVM, whereas `CATALINA_OPTS` specifies Tomcat's flags. You can pass the
|
||||
options to the container runtime using the `-e` flag:
|
||||
```ShellSession
|
||||
$ podman run -it --rm \
|
||||
-e JAVA_OPTS="-Xmx1024m" -p 8080:8080 \
|
||||
registry.opensuse.org/opensuse/apache-tomcat:9-openjdk17
|
||||
```
|
||||
|
||||
The image ships with `CATALINA_HOME` set to `/usr/share/tomcat`
|
||||
and `CATALINA_BASE` set to `/usr/share/tomcat`.
|
||||
|
||||
|
||||
|
||||
|
||||
## Licensing
|
||||
|
||||
`SPDX-License-Identifier: MIT`
|
||||
|
||||
This documentation and the build recipe are licensed as MIT.
|
||||
The container itself contains various software components under various open source licenses listed in the associated
|
||||
Software Bill of Materials (SBOM).
|
||||
|
||||
This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/).
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>openjdk17</package>
|
||||
</multibuild>
|
9
_service
Normal file
9
_service
Normal file
@ -0,0 +1,9 @@
|
||||
<services>
|
||||
<service mode="buildtime" name="docker_label_helper"/>
|
||||
<service mode="buildtime" name="kiwi_metainfo_helper"/>
|
||||
<service name="replace_using_package_version" mode="buildtime">
|
||||
<param name="file">Dockerfile.openjdk17</param>
|
||||
<param name="regex">%%tomcat_version%%</param>
|
||||
<param name="package">tomcat</param>
|
||||
</service>
|
||||
</services>
|
99
apache-tomcat-9-image.changes
Normal file
99
apache-tomcat-9-image.changes
Normal file
@ -0,0 +1,99 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 1 15:12:56 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- rename to apache-tomcat-9-image, use _multibuild
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 25 17:36:16 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- rerender installation step in multiple lines, allow uninstalling optional packages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 25 17:12:11 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- improved log cleaning
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 25 16:59:48 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- add compatibility symlink
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 24 20:00:32 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- remove release tags for additional_versions
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 24 12:18:47 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- use internal target image for the last layer on tumbleweed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 23 12:48:02 UTC 2024 - Dan Čermák <dcermak@suse.com>
|
||||
|
||||
- revert back to internal target images for TW
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 20 07:29:26 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- remove major version tag
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 18 16:43:21 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- rename flavor to openjdk
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 18 16:35:09 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- use released containers as buildtarget in multistage
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 12 10:37:22 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- set useobsrepositories explicitly
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 14 16:03:10 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- extend description
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 14 12:30:32 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- install packages first
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 14 11:58:49 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- Fix oci.version to be the fully qualified tomcat version
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 8 19:28:10 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- add oci.image.ref.name
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 8 16:43:43 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- remove oci reference annotation again
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 5 11:38:13 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- add OCI reference annotation
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 3 08:56:51 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- set OCI.authors attribute instead of deprecated MAINTAINER
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 31 12:06:44 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
- set specific lifecycle url for openSUSE BCI
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 18 10:56:33 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||
|
||||
- First version of the Apache Tomcat 9-jre17 BCI
|
Loading…
Reference in New Issue
Block a user