Docker is a powerful platform that simplifies application deployment by packaging software into containers. If you’re a developer or system administrator looking to manage MySQL databases, phpMyAdmin is a popular web interface that makes database management easier. In this article, we’ll guide you through setting up phpMyAdmin using Docker.

Why Use Docker for phpMyAdmin?

  • Portability: Docker containers run consistently across environments.
  • Ease of Setup: Quickly deploy phpMyAdmin without complex installation steps.
  • Isolation: Ensures phpMyAdmin runs in a dedicated environment, minimizing conflicts.

Create directory

/home/xna/phpmyadmin/

└── phpmyadmin/
    └── docker-compose.yml
    └── .env
    └── .htpasswd

create .htpasswd

# leave it blank

create .env file

APP_PORT=8014

PMA_HOST=172.17.0.1 # or localhost depends on your connection
PMA_PORT=3306
PMA_USER="root"
PMA_PASSWORD="iniP@ssw0rdm2024"

create docker-compose.yml

services:
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    environment:
      PMA_HOST: ${PMA_HOST} 
      PMA_PORT: ${PMA_PORT} 
      MYSQL_ROOT_PASSWORD: ${PMA_PASSWORD}
    ports:
      - "${APP_PORT}:80"
    volumes:
      - ./home/xna/phpmyadmin/.htpasswd
    restart: unless-stopped

Build container

docker compose up -d  

Login with your creds

Additional docker-compose with mariadb inside

services:
  db:
    image: mariadb:10.5
    container_name: mariadb
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: iniP@ssw0rdm2024
      MYSQL_DATABASE: xna
      MYSQL_USER: root
      MYSQL_PASSWORD: iniP@ssw0rdm2024
    volumes:
      - ./db_data:/var/lib/mysql
    networks:
      - pma
    ports:
      - "3360:3306"

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    restart: always
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: iniP@ssw0rdm2024
      PMA_PORT: 3306
      PMA_ARBITRARY: 1
    ports:
      - 8018:80
    networks:
      - pma
    depends_on:
      - db

networks:
  pma:
    driver: bridge

#volumes:
#  db_data:

Loading

Leave a Reply

Your email address will not be published. Required fields are marked *