mysql-ha-cloud (sha256:8c952efdce18a9c5ebf9ec374ab99888e1a7c4188a34458f7cc08504a1f49c1d)
Installation
docker pull source.selfmanager.net.au/manageitpub/mysql-ha-cloud@sha256:8c952efdce18a9c5ebf9ec374ab99888e1a7c4188a34458f7cc08504a1f49c1dsha256:8c952efdce18a9c5ebf9ec374ab99888e1a7c4188a34458f7cc08504a1f49c1dAbout 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.8-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.8-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.8-1.el9 |
| SHELL [/bin/bash -c] |
| RUN /bin/bash -c microdnf install -y libev lz4 perl perl-DBI perl-DBD-MySQL procps python3-devel rsync unzip wget && wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.4/Percona-XtraBackup-8.4.0-5/binary/redhat/9/x86_64/percona-xtrabackup-84-8.4.0-5.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.5/consul_1.22.5_linux_amd64.zip -O /tmp/consul.zip && echo "58603b87fd085282f882fcd02b5165c93b321692514b2ab822dec8dd4cd028a3 /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.0.5/proxysql-3.0.5-1-centos9.x86_64.rpm -O /tmp/proxysql.rpm && echo "40ec35c6863e2a73aa745ce32224c6e189f7e14ecc9e346ceddfe00ea03bc4b1 /tmp/proxysql.rpm" | sha256sum -c && rpm -i /tmp/proxysql.rpm && rm /tmp/proxysql.rpm && mkdir /snapshots && mkdir /cluster && microdnf clean all && rm -rf /var/cache/yum/* && rm -rf /var/lib/rpm/__db* && rm -rf /tmp/* # buildkit |
| WORKDIR /cluster |
| COPY requirements.txt . # buildkit |
| COPY src/mcm . # buildkit |
| COPY src/main.py . # buildkit |
| ENV PYTHONUSERBASE=/cluster/.prefix |
| RUN /bin/bash -c pip3 install --no-cache-dir --user -r requirements.txt # buildkit |
| COPY entrypoint.sh . # buildkit |
| VOLUME [/snapshots] |
| EXPOSE [6032/tcp 6033/tcp] |
| STOPSIGNAL SIGTERM |
| ENTRYPOINT ["/cluster/entrypoint.sh"] |
| CMD ["join_or_bootstrap"] |
Labels
| Key | Value |
|---|---|
| org.opencontainers.image.created | 2026-10-20T01:31:52.095Z |
| 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 | d60ebe771197d1555950a262b7153625c167e92c |
| 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.8.3 |
Details
2026-10-20 01:34:48 +00:00
Versions (7)
View all
Container
0
OCI / Docker
linux/amd64
638 MiB