Skip to content

Adminer (Database Management)

概要

Adminer (formerly phpMinAdmin) は、PHPで記述された軽量なデータベース管理ツールです。 phpMyAdmin と同様の機能を持ちながら、単一の PHP ファイルで構成されているため非常に軽量で、セキュリティ面でも攻撃対象領域が小さくなります。

構成

Dockerfile 解析 (srcs/requirements/bonus/adminer/Dockerfile)

dockerfile
FROM debian:bullseye

# 必要なパッケージ: PHP, MySQL拡張, Wget
RUN apt-get update && apt-get install -y \
    php \
    php-mysql \
    wget \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir -p /var/www/html

# Adminer 本体のダウンロード
RUN wget "https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1.php" -O /var/www/html/index.php

# 実行ユーザーの作成 (rootでの実行を避ける)
RUN useradd -m -s /bin/bash adminer
RUN chown -R adminer:adminer /var/www/html

USER adminer
WORKDIR /var/www/html

EXPOSE 8080

# PHP ビルトインウェブサーバーでの起動
CMD ["php", "-S", "0.0.0.0:8080"]

役割と設定

  • 軽量性: Nginx や Apache などを別途インストールせず、PHP のビルトインサーバーを使用して最小構成で動作させています。
  • 配置: Nginx コンテナからのリバースプロキシ (proxy_pass http://adminer:8080/) を経由してアクセスされます。

使用方法

  1. ブラウザで https://<DOMAIN_NAME>/adminer/ にアクセスします。
  2. ログイン画面が表示されます。
    • System: MySQL
    • Server: mariadb (コンテナ名)
    • Username: (.env で設定したユーザー名)
    • Password: (.env で設定したパスワード)
    • Database: (.env で設定したDB名)

参考資料

Released under the MIT License.