DEV Community

Cover image for 🚀 āϞ⧋āĻ•āĻžāϞ āĻ“ā§Ÿā§‡āĻŦ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ Docker āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ MySQL āĻāĻŦāĻ‚ phpMyAdmin āϏ⧇āϟāφāĻĒ āĻ•āϰ⧁āύ
Mahmud Ibrahim
Mahmud Ibrahim

Posted on

🚀 āϞ⧋āĻ•āĻžāϞ āĻ“ā§Ÿā§‡āĻŦ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ Docker āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ MySQL āĻāĻŦāĻ‚ phpMyAdmin āϏ⧇āϟāφāĻĒ āĻ•āϰ⧁āύ

🚀 āϞ⧋āĻ•āĻžāϞ āĻ“ā§Ÿā§‡āĻŦ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ Docker āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ MySQL āĻāĻŦāĻ‚ phpMyAdmin āϏ⧇āϟāφāĻĒ āĻ•āϰ⧁āύ

mysql, phpmyadmin and docker

āĻāĻ•āϜāύ āĻ“ā§Ÿā§‡āĻŦ āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“ āφāϞāĻžāĻĻāĻž āĻāĻ•āϟāĻŋ āĻāύāĻ­āĻžā§ŸāϰāύāĻŽā§‡āĻ¨ā§āϟ āϖ⧁āĻŦāχ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ MySQL āĻ“ phpMyAdmin āϏāϰāĻžāϏāϰāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻžāϰ āĻŦāĻĻāϞ⧇, Docker āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āφāĻĒāύāĻŋ āĻāχ āϟ⧁āϞāϗ⧁āϞ⧋ āĻ•āύāĻŸā§‡āχāύāĻžāϰ⧇ āϰāĻžāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĻ¨â€Šâ€”â€ŠāĻĻā§āϰ⧁āϤ āĻāĻŦāĻ‚ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ• āĻĒā§āϰāĻœā§‡āĻ•ā§āĻŸā§‡ āĻāĻ•āχāĻ­āĻžāĻŦ⧇āĨ¤

āĻāχ āĻ—āĻžāχāĻĄā§‡, āφāĻŽāϰāĻž āĻĻ⧇āĻ–āĻžāĻŦā§‹ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ Docker Compose āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ MySQL āĻāĻŦāĻ‚ phpMyAdmin āϞ⧋āĻ•āĻžāϞ āĻŽā§‡āĻļāĻŋāύ⧇ Steup āĻ•āϰāĻŦ⧇āύāĨ¤ āĻāϟāĻž āϏāĻŦ āϧāϰāύ⧇āϰ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡â€Šâ€”â€ŠWindows, macOS, Linux āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇āĨ¤

✅ Requirement

āĻāχ āϟāĻŋāωāĻŸā§‹āϰāĻŋ⧟āĻžāϞ āĻļ⧁āϰ⧁āϰ āφāϗ⧇ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύ āϝ⧇ āφāĻĒāύāĻžāϰ āĻŽā§‡āĻļāĻŋāύ⧇ āύāĻŋāĻšā§‡āϰ āϏāĻĢāϟāĻ“ā§Ÿā§āϝāĻžāϰāϗ⧁āϞ⧋ āχāύāĻ¸ā§āϟāϞ āφāϛ⧇:

  • Docker
  • Docker Compose

🛠 āϧāĻžāĻĒ⧇ āϧāĻžāĻĒā§‡Â āĻ—āĻžāχāĻĄ

📁 āϧāĻžāĻĒ ā§§: āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻžāϞ⧇ āύāĻŋāĻšā§‡āϰ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϰāĻžāύ āĻ•āϰ⧁āύ:

mkdir mysql-docker-setup  
cd mysql-docker-setup
Enter fullscreen mode Exit fullscreen mode

📝 āϧāĻžāĻĒ ā§¨: docker-compose.yml āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āĻāχ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇āϰ āĻ­āĻŋāϤāϰ⧇ docker-compose.yml āύāĻžāĻŽā§‡āϰ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āύāĻŋāĻšā§‡āϰ āϕ⧋āĻĄ āĻĒ⧇āĻ¸ā§āϟ āĻ•āϰ⧁āύ:

services:
  #db
  db:
    image: 'mysql/mysql-server:8.0'
    container_name: mysql
    restart: unless-stopped
    ports:
      - '3306:3306'
    volumes:
      - mysqldata:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_ROOT_HOST: '%'
      MYSQL_DATABASE: mydb
      MYSQL_USER: user
      MYSQL_PASSWORD: root
      MYSQL_ALLOW_EMPTY_PASSWORD: 1
    networks:
      - mysql-network
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 10s
      timeout: 5s
      retries: 3
  #phpmyadmin
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    restart: unless-stopped
    ports:
      - '8080:80'
    environment:
      PMA_HOST: db
      PMA_PORT: 3306
      PMA_USER: user
      PMA_PASSWORD: root
    depends_on:
      - db
    networks:
      - mysql-network

networks:
  mysql-network:
    driver: bridge

volumes:
  mysqldata:
    driver: local
Enter fullscreen mode Exit fullscreen mode

āĻāχ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύāϟāĻŋ āϝāĻž āĻ•āϰ⧇:

  • āĻāĻ•āϟāĻŋ MySQL 8 āĻ•āύāĻŸā§‡āχāύāĻžāϰ āϏ⧇āϟ āωāĻĒ āĻ•āϰ⧇
  • āĻĄāĻžāϟāĻžāĻŦ⧇āϜ āĻĄā§‡āϟāĻž āϏāĻ‚āϰāĻ•ā§āώāϪ⧇āϰ āϜāĻ¨ā§āϝ Docker āĻ­āϞāĻŋāωāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇
  • phpMyAdmin GUI āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ MySQL āĻŽā§āϝāĻžāύ⧇āϜ āĻ•āϰāĻž āϝāĻžā§Ÿ
  • MySQL āĻāϰ āϜāĻ¨ā§āϝ 3306 āĻāĻŦāĻ‚ phpMyAdmin āĻāϰ āϜāĻ¨ā§āϝ 8080 āĻĒā§‹āĻ°ā§āϟ āĻ“āĻĒ⧇āύ āĻ•āϰ⧇

🚀 āϧāĻžāĻĒ ā§Š: āĻ•āύāĻŸā§‡āχāύāĻžāϰ āϚāĻžāĻ˛ā§Â āĻ•āϰ⧁āύ

āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻžāϞ⧇ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāύ:

docker compose up -d
Enter fullscreen mode Exit fullscreen mode

Docker āĻĒā§āĻ°ā§Ÿā§‹āϜāĻ¨ā§€ā§Ÿ āχāĻŽā§‡āϜāϗ⧁āϞ⧋ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāĻŦ⧇ āĻāĻŦāĻ‚ āĻ•āύāĻŸā§‡āχāύāĻžāϰ āϚāĻžāϞ⧁ āĻ•āϰāĻŦ⧇āĨ¤

✅ āϧāĻžāĻĒ ā§Ē: phpMyAdmin āĻŦā§āϝāĻŦāĻšāĻžāĻ°Â āĻ•āϰ⧁āύ

āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇ āϝāĻžāύ:

http://localhost:8080
Enter fullscreen mode Exit fullscreen mode

āϞāĻ—āχāύ āĻ•āϰ⧁āύ:

  • Username: user
  • Password: root

āĻāĻ–āύ āφāĻĒāύāĻŋ phpMyAdmin āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ!

đŸ§ŧ āϧāĻžāĻĒ ā§Ģ: āĻ•āύāĻŸā§‡āχāύāĻžāϰ āĻŦāĻ¨ā§āϧ āĻ“ āϰāĻŋāĻŽā§āĻ­ āĻ•āϰ⧁āύ (Optional)

āϝāĻĻāĻŋ āĻ•āĻžāϜ āĻļ⧇āώ āĻšā§Ÿā§‡ āϝāĻžā§Ÿ, āĻ•āύāĻŸā§‡āχāύāĻžāϰ āĻŦāĻ¨ā§āϧ āĻ•āϰāϤ⧇ āύāĻŋāĻšā§‡āϰ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāύ:

docker compose down -v
Enter fullscreen mode Exit fullscreen mode

🔚 āωāĻĒāϏāĻ‚āĻšāĻžāϰ

GitHub Link: https://github.com/rafi021/mysql-phpmyadmin-docker-compose

YouTube: https://youtu.be/lkR__D9NEYc

Docker āĻĻāĻŋā§Ÿā§‡ āϞ⧋āĻ•āĻžāϞ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āĻ•āϰāĻž āϖ⧁āĻŦāχ āϏāĻšāϜāĨ¤ āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ YAML āĻĢāĻžāχāϞ āĻ“ āĻ•ā§Ÿā§‡āĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āχ āφāĻĒāύāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āĻĢ⧇āϞāϤ⧇ āĻĒāĻžāϰ⧇āύ āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ EnvironmentāĨ¤ āĻāĻ–āύ āφāĻĒāύāĻŋ āϏāĻšāĻœā§‡āχ MySQL āĻāĻŦāĻ‚ phpMyAdmin āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻĄāĻžāϟāĻžāĻŦ⧇āϜ āĻ…āĻ‚āĻļ āĻĄā§‡āϭ⧇āϞāĻĒ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āĻ•āĻŽā§‡āĻ¨ā§āĻŸā§‡ āϜāĻžāύāĻžāύ, āφāĻĒāύāĻŋ PostgreSQL āĻŦāĻž MongoDB āĻāϰ āϜāĻ¨ā§āϝ āĻāϰāĻ•āĻŽ āĻ—āĻžāχāĻĄ āϚāĻžāύ āĻ•āĻŋāύāĻž!

Top comments (0)