Dan Čermák
bef1dde1c6
OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/mariadb-image?expand=0&rev=200
85 lines
3.8 KiB
Docker
85 lines
3.8 KiB
Docker
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
# Copyright (c) 2025 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/mariadb:%%mariadb_version%%-%RELEASE%
|
|
#!BuildTag: opensuse/mariadb:%%mariadb_version%%
|
|
#!BuildTag: opensuse/mariadb:11.6
|
|
#!BuildTag: opensuse/mariadb:latest
|
|
|
|
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 coreutils findutils gawk mariadb mariadb-tools openssl sed timezone util-linux zstd; \
|
|
zypper -n clean; \
|
|
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
|
|
# sanity check that the version from the tag is equal to the version of mariadb that we expect
|
|
RUN set -euo pipefail; \
|
|
[ "$(rpm --root /target -q --qf '%{version}' mariadb | \
|
|
cut -d '.' -f -2)" = "11.6" ]
|
|
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.mariadb
|
|
LABEL org.opencontainers.image.title="openSUSE Tumbleweed MariaDB Server"
|
|
LABEL org.opencontainers.image.description="MariaDB Server container based on the openSUSE Tumbleweed Base Container Image."
|
|
LABEL org.opencontainers.image.version="%%mariadb_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="%%mariadb_version%%-%RELEASE%"
|
|
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/mariadb:%%mariadb_version%%-%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/mariadb-image/README.md"
|
|
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
CMD ["mariadbd"]
|
|
EXPOSE 3306/tcp
|
|
RUN set -euo pipefail; mkdir /docker-entrypoint-initdb.d
|
|
|
|
# docker-entrypoint from https://github.com/MariaDB/mariadb-docker.git
|
|
COPY docker-entrypoint.sh /usr/local/bin/
|
|
RUN set -euo pipefail; chmod 755 /usr/local/bin/docker-entrypoint.sh
|
|
RUN set -euo pipefail; ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat
|
|
|
|
# healthcheck from https://github.com/MariaDB/mariadb-docker.git
|
|
COPY healthcheck.sh /usr/local/bin/
|
|
RUN set -euo pipefail; chmod 755 /usr/local/bin/healthcheck.sh
|
|
|
|
COPY idexec /usr/local/bin/idexec
|
|
RUN set -euo pipefail; chmod 755 /usr/local/bin/idexec
|
|
|
|
# replace gosu calls with idexec
|
|
RUN set -euo pipefail; sed -i 's/exec gosu /exec idexec /g' /usr/local/bin/docker-entrypoint.sh
|
|
RUN set -euo pipefail; sed -i 's/exec gosu /exec idexec /g' /usr/local/bin/healthcheck.sh
|
|
|
|
RUN set -euo pipefail; sed -i -e 's,$(pwgen .*),$(openssl rand -base64 36),' /usr/local/bin/docker-entrypoint.sh
|
|
|
|
# Ensure all logs goes to stdout
|
|
RUN set -euo pipefail; sed -i 's/^log/#log/g' /etc/my.cnf
|
|
|
|
# Disable binding to localhost only, doesn't make sense in a container
|
|
RUN set -euo pipefail; sed -i -e 's|^\(bind-address.*\)|#\1|g' /etc/my.cnf
|
|
|
|
RUN set -euo pipefail; mkdir /run/mysql
|
|
|
|
VOLUME /var/lib/mysql
|