Docker images for Adminer (formerly phpMinAdmin), a full-featured database management tool written in PHP. Supports MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB, and more — all in a single PHP file.
This project provides production-ready Adminer Docker images based on snowdreamtech/php with Nginx, available in three distribution variants:
- Alpine — Lightweight, minimal image size
- Debian — Default, widely-compatible
- Rocky — Enterprise-focused, RHEL-compatible
# Pull and run the default Debian variant
docker pull snowdreamtech/adminer:debian
docker run -d --name=adminer -p 8080:80 snowdreamtech/adminer:debian
# Access Adminer at http://localhost:8080/adminer.phpThe recommended variant for most use cases, providing wide compatibility and extensive package availability.
docker run -d \
--name=adminer \
-p 8080:80 \
-e TZ=Asia/Shanghai \
--restart unless-stopped \
snowdreamtech/adminer:debianSupported Architectures: amd64, arm32v7, arm64, ppc64le, riscv64, s390x
Base Image: snowdreamtech/php:8.4.16-nginx-debian
Lightweight variant optimized for minimal image size and fast startup times.
docker run -d \
--name=adminer \
-p 8080:80 \
-e TZ=Asia/Shanghai \
--restart unless-stopped \
snowdreamtech/adminer:alpineSupported Architectures: i386, amd64, arm32v6, arm32v7, arm64, ppc64le, riscv64, s390x
Base Image: snowdreamtech/php:8.4.22-nginx-alpine
Enterprise-focused variant based on Rocky Linux, ideal for production environments requiring RHEL compatibility.
docker run -d \
--name=adminer \
-p 8080:80 \
-e TZ=Asia/Shanghai \
--restart unless-stopped \
snowdreamtech/adminer:rockySupported Architectures: amd64, arm64, ppc64le, s390x
Base Image: snowdreamtech/php:8.4.21-nginx-rocky
# Build Debian variant
docker build -t snowdreamtech/adminer:debian ./docker/debian/
# Build Alpine variant
docker build -t snowdreamtech/adminer:alpine ./docker/alpine/
# Build Rocky variant
docker build -t snowdreamtech/adminer:rocky ./docker/rocky/Build images for multiple architectures using docker buildx:
# Create and use a buildx builder
docker buildx create --use --name build --node build --driver-opt network=host
# Build Debian for multiple architectures
docker buildx build \
--platform=linux/386,linux/amd64,linux/arm/v5,linux/arm/v7,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x \
-t snowdreamtech/adminer:debian \
./docker/debian/ \
--push
# Build Alpine for multiple architectures
docker buildx build \
--platform=linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/ppc64le,linux/riscv64,linux/s390x \
-t snowdreamtech/adminer:alpine \
./docker/alpine/ \
--push
# Build Rocky for multiple architectures
docker buildx build \
--platform=linux/amd64,linux/arm64,linux/ppc64le,linux/s390x \
-t snowdreamtech/adminer:rocky \
./docker/rocky/ \
--pushAll variants support the following environment variables for runtime configuration:
| Variable | Default | Description |
|---|---|---|
KEEPALIVE |
0 |
Keep container running (1=enabled, 0=disabled) |
CAP_NET_BIND_SERVICE |
0 |
Enable binding to privileged ports (<1024) |
LANG |
C.UTF-8 |
Locale setting for UTF-8 character support |
UMASK |
022 |
Default file creation mask |
DEBUG |
false |
Enable debug output in entrypoint scripts |
PGID |
0 |
Primary group ID for custom user creation |
PUID |
0 |
User ID for custom user creation |
USER |
root |
Username for custom user creation |
WORKDIR |
/root |
Working directory path |
TZ |
- | Timezone (e.g., Asia/Shanghai, America/New_York) |
ADMINER_VERSION |
6.0.0 |
Adminer version |
ADMINER_SQLITE_PASSWORD |
`` | SQLite password for passwordless login plugin |
ADMINER_PATH |
/var/www/html |
Path to Adminer web root |
ADMINER_PLUGINS_PATH |
/var/www/html/plugins |
Path to Adminer plugins |
ADMINER_DESIGNS_PATH |
/var/www/html/designs |
Path to Adminer designs/themes |
Debian-specific:
| Variable | Default | Description |
|---|---|---|
DEBIAN_FRONTEND |
noninteractive |
Debian package installation mode |
services:
adminer:
image: snowdreamtech/adminer:debian
container_name: adminer
ports:
- "8080:80"
environment:
- TZ=Asia/Shanghai
restart: unless-stoppedservices:
adminer:
image: snowdreamtech/adminer:debian
container_name: adminer
ports:
- "8080:80"
environment:
- TZ=Asia/Shanghai
- DEBUG=true
restart: unless-stopped
mysql:
image: mysql:8
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=secret
volumes:
- mysql_data:/var/lib/mysql
restart: unless-stopped
volumes:
mysql_data:Images follow semantic versioning with the format: {major}.{minor}.{patch}-{variant}
Examples:
snowdreamtech/adminer:6.0.0-debiansnowdreamtech/adminer:6.0.0-alpinesnowdreamtech/adminer:6.0.0-rocky
This format allows:
- Full version pinning:
6.0.0-debian(exact version) - Variant latest tag:
latest-debian(tracks most recent release for Debian) - Global latest tag:
latest(tracks most recent release, defaults to Debian)
Each distribution variant supports multiple CPU architectures for deployment across diverse hardware platforms:
| Variant | Architectures |
|---|---|
| Debian | amd64, arm32v7, arm64, ppc64le, riscv64, s390x |
| Alpine | i386, amd64, arm32v6, arm32v7, arm64, ppc64le, riscv64, s390x |
| Rocky | amd64, arm64, ppc64le, s390x |
Docker automatically selects the appropriate architecture for your platform when pulling images.
The image includes a flexible entrypoint system that executes custom initialization scripts before starting your application.
- The
docker-entrypoint.shscript runs at container startup - It executes all executable scripts in
/usr/local/bin/entrypoint.d/in lexical order - Each script receives the container's command-line arguments
- If any script fails, the container stops (fail-fast behavior)
Enable debug output to troubleshoot entrypoint execution:
docker run -e DEBUG=true snowdreamtech/adminer:debian- Adminer Official Website
- Adminer GitHub Repository
- 使用 buildx 构建多平台 Docker 镜像
- 如何使用 docker buildx 构建跨平台 Go 镜像
- Building Multi-Arch Images for Arm and x86 with Docker Desktop
- How to Rapidly Build Multi-Architecture Images with Buildx
- docker/buildx
- Email: sn0wdr1am@qq.com
- QQ: 3217680847
- QQ群: 949022145
- WeChat/微信群: sn0wdr1am
MIT