Block a user
laravel-foundation/mysql (8.4-seeded)
Published 2026-09-06 20:26:52 +00:00 by leo
Installation
docker pull git.leona.world/leo/laravel-foundation/mysql:8.4-seededsha256:f806211c3f0e4b0d4d526c023bd85b3087f5426d894e0576e2eaba125423c1d2
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.11-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_DATABASE=foundation_testing MYSQL_USER=foundation MYSQL_PASSWORD=foundation MYSQL_ROOT_PASSWORD=foundation-root |
| RUN /bin/sh -c set -eux; mkdir -p /seeded; chown mysql:mysql /seeded; mysqld --initialize-insecure --datadir=/seeded --user=mysql; mysqld --datadir=/seeded --user=mysql --skip-networking --socket=/tmp/seed.sock & server_pid=$!; ready=0; for _ in $(seq 1 120); do if mysqladmin --socket=/tmp/seed.sock --silent ping >/dev/null 2>&1; then ready=1; break; fi; sleep 2; done; test "$ready" = 1; mysql --socket=/tmp/seed.sock -uroot -e "CREATE DATABASE \`${MYSQL_DATABASE}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}'; GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'%'; CREATE USER 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'; FLUSH PRIVILEGES;"; mysql --socket=/tmp/seed.sock -uroot -p"${MYSQL_ROOT_PASSWORD}" -e "SELECT schema_name FROM information_schema.schemata WHERE schema_name='${MYSQL_DATABASE}'" | grep -q "${MYSQL_DATABASE}"; mysqladmin --socket=/tmp/seed.sock -uroot -p"${MYSQL_ROOT_PASSWORD}" shutdown; wait "$server_pid" || true; test -d /seeded/mysql # buildkit |
| CMD ["mysqld" "--datadir=/seeded"] |
Details
2026-09-06 20:26:52 +00:00
Versions (2)
View all
Container
6
OCI / Docker
linux/amd64
231 MiB
8.4-seeded-r2
2026-09-06
8.4-seeded
2026-09-06