mysql-ha-cloud (sha256:961255b10b237539e39744ba85162f78841d1a6ad305bf14b64d81f59b3bf77e)

Published 2026-10-29 09:40:31 +00:00 by Manage It Bot in manageitpub/mysql-ha-cloud

Installation

docker pull source.selfmanager.net.au/manageitpub/mysql-ha-cloud@sha256:961255b10b237539e39744ba85162f78841d1a6ad305bf14b64d81f59b3bf77e
sha256:961255b10b237539e39744ba85162f78841d1a6ad305bf14b64d81f59b3bf77e

About this package

This container image provides a highly available and replicated MySQL installation in Kubernetes or Docker Swarm. Consul, ProxySQL, and XtraBackup are used for leader election, load distribution, and backups.

Image layers

ADD oraclelinux-9-slim-amd64-rootfs.tar.xz / # buildkit
CMD ["/bin/bash"]
RUN /bin/sh -c set -eux; groupadd --system --gid 999 mysql; useradd --system --uid 999 --gid 999 --home-dir /var/lib/mysql --no-create-home mysql # buildkit
ENV GOSU_VERSION=1.19
RUN /bin/sh -c set -eux; arch="$(uname -m)"; case "$arch" in aarch64) gosuArch='arm64' ;; x86_64) gosuArch='amd64' ;; *) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;; esac; curl -fL -o /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$gosuArch.asc"; curl -fL -o /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$gosuArch"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit
RUN /bin/sh -c set -eux; microdnf install -y bzip2 gzip openssl xz zstd findutils ; microdnf clean all # buildkit
RUN /bin/sh -c set -eux; key='BCA4 3417 C3B4 85DD 128E C6D4 B7B3 B788 A8D3 785C'; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; gpg --batch --export --armor "$key" > /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql; rm -rf "$GNUPGHOME" # buildkit
ENV MYSQL_MAJOR=8.4
ENV MYSQL_VERSION=8.4.13-1.el9
RUN /bin/sh -c set -eu; { echo '[mysql8.4-server-minimal]'; echo 'name=MySQL 8.4 Server Minimal'; echo 'enabled=1'; echo 'baseurl=https://repo.mysql.com/yum/mysql-8.4-community/docker/el/9/$basearch/'; echo 'gpgcheck=1'; echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql'; echo 'module_hotfixes=true'; } | tee /etc/yum.repos.d/mysql-community-minimal.repo # buildkit
RUN /bin/sh -c set -eux; microdnf install -y "mysql-community-server-minimal-$MYSQL_VERSION"; microdnf clean all; grep -F 'socket=/var/lib/mysql/mysql.sock' /etc/my.cnf; sed -i 's!^socket=.*!socket=/var/run/mysqld/mysqld.sock!' /etc/my.cnf; grep -F 'socket=/var/run/mysqld/mysqld.sock' /etc/my.cnf; { echo '[client]'; echo 'socket=/var/run/mysqld/mysqld.sock'; } >> /etc/my.cnf; ! grep -F '!includedir' /etc/my.cnf; { echo; echo '!includedir /etc/mysql/conf.d/'; } >> /etc/my.cnf; mkdir -p /etc/mysql/conf.d; mkdir -p /var/lib/mysql /var/run/mysqld; chown mysql:mysql /var/lib/mysql /var/run/mysqld; chmod 1777 /var/lib/mysql /var/run/mysqld; mkdir /docker-entrypoint-initdb.d; mysqld --version; mysql --version # buildkit
RUN /bin/sh -c set -eu; { echo '[mysql-tools-community]'; echo 'name=MySQL Tools Community'; echo 'baseurl=https://repo.mysql.com/yum/mysql-tools-8.4-community/el/9/$basearch/'; echo 'enabled=1'; echo 'gpgcheck=1'; echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql'; echo 'module_hotfixes=true'; } | tee /etc/yum.repos.d/mysql-community-tools.repo # buildkit
ENV MYSQL_SHELL_VERSION=8.4.10-1.el9
RUN /bin/sh -c set -eux; microdnf install -y "mysql-shell-$MYSQL_SHELL_VERSION"; microdnf clean all; mysqlsh --version # buildkit
VOLUME [/var/lib/mysql]
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE map[3306/tcp:{} 33060/tcp:{}]
CMD ["mysqld"]
ENV MYSQL_VERSION=8.4.13-1.el9
SHELL [/bin/bash -c]
RUN /bin/bash -c microdnf install -y --nodocs --setopt=install_weak_deps=0 libev lz4 perl perl-DBI perl-DBD-MySQL procps python3 rsync unzip wget && wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.4/Percona-XtraBackup-8.4.0-7/binary/redhat/9/x86_64/percona-xtrabackup-84-8.4.0-7.1.el9.x86_64.rpm -O /tmp/xtrabackup.rpm && rpm -i /tmp/xtrabackup.rpm && rm /tmp/xtrabackup.rpm && wget https://releases.hashicorp.com/consul/1.22.7/consul_1.22.7_linux_amd64.zip -O /tmp/consul.zip && echo "fe25cecd8dd3552a8e5b0941cde1d79bb6004eac384aa45679dd1398f947201d /tmp/consul.zip" | sha256sum -c && unzip /tmp/consul.zip -d /usr/local/bin && rm /usr/local/bin/LICENSE.txt && rm /tmp/consul.zip && wget https://github.com/sysown/proxysql/releases/download/v3.1.11/proxysql-3.1.11-1-centos9.x86_64.rpm -O /tmp/proxysql.rpm && echo "c996543ea074a1fa6824e0c68a37bb4a878abb6e11979daeb3dea8962962fccb /tmp/proxysql.rpm" | sha256sum -c && rpm -i /tmp/proxysql.rpm && rm /tmp/proxysql.rpm && mkdir /snapshots && mkdir /cluster && microdnf remove -y wget && microdnf clean all && rm -rf /var/cache/yum/* && rm -rf /var/lib/rpm/__db* && rm -rf /tmp/* # buildkit
WORKDIR /cluster
ENV PYTHONUSERBASE=/cluster/.prefix
COPY /cluster/.prefix /cluster/.prefix # buildkit
COPY src/mcm ./mcm # buildkit
COPY src/main.py . # buildkit
COPY entrypoint.sh . # buildkit
VOLUME [/snapshots]
EXPOSE [6032/tcp 6033/tcp]
STOPSIGNAL SIGTERM
HEALTHCHECK {Test:[CMD /cluster/main.py --log-level WARNING healthcheck] Interval:10s Timeout:5s StartPeriod:1m0s StartInterval:1s Retries:3}
ENTRYPOINT ["/cluster/entrypoint.sh"]
CMD ["join_or_bootstrap"]

Labels

Key Value
org.opencontainers.image.created 2026-10-29T09:14:58.455Z
org.opencontainers.image.description This container image provides a highly available and replicated MySQL installation in Kubernetes or Docker Swarm. Consul, ProxySQL, and XtraBackup are used for leader election, load distribution, and backups.
org.opencontainers.image.licenses
org.opencontainers.image.revision 717c8a3c521ebf8edc5bfc08e88e93f80ad248a0
org.opencontainers.image.source https://source.selfmanager.net.au/manageitpub/mysql-ha-cloud
org.opencontainers.image.title mysql-ha-cloud
org.opencontainers.image.url https://source.selfmanager.net.au/manageitpub/mysql-ha-cloud
org.opencontainers.image.version 0.9.0
Details
Container
2026-10-29 09:40:31 +00:00
7
OCI / Docker
linux/amd64
606 MiB
Versions (7) View all
latest 2026-10-30
1.0.0 2026-10-30
1.0 2026-10-30
0.9 2026-10-29
0.9.0 2026-10-29