Sign inSign up

damofd/php-apache-phpmyadmin

By damofd

•Updated about 3 years ago

Docker running PHP, Apache, MySQL, and PHPMyAdmin

Image
1

157

damofd/php-apache-phpmyadmin repository overview

⁠Apache PHP MySQL GitHub version

Docker running Apache, MySQL and PHPMyAdmin.

⁠Overview

  1. Install prerequisites⁠

    Before installing project make sure the following prerequisites have been met.

  2. Clone the project⁠

    We’ll download the code from its repository on GitHub.

  3. Run the application⁠

    By this point we’ll have all the project pieces in place.

  4. Use Docker Commands⁠

    When running, you can use docker commands for doing recurrent operations.


⁠Install prerequisites

To run the docker commands without using sudo you must add the docker group to your-user:

sudo usermod -aG docker your-user

All requisites should be available for your distribution. The most important are :

Check if docker-compose is already installed by entering the following command :

which docker-compose

Check Docker Compose compatibility :

The following is optional but makes life more enjoyable :

which make

On Ubuntu and Debian these are available in the meta-package build-essential. On other distributions, you may need to install the GNU C++ compiler separately.

sudo apt install build-essential
⁠Images to use

You should be careful when installing third party web servers such as MySQL or Nginx.

This project use the following ports :

ServerPort
MySQL3306
PHPMyAdmin8080
Apache80

⁠Clone the project

To install Git⁠, download it and install following the instructions :

git clone https://github.com/DamoFD/docker-php-apache-mysql.git

Go to the project directory :

cd docker-php-apache-mysql
⁠Project tree
.
├── README.md
├── docker-compose.yml
├── www
│   ├── index.php
│   ├── database.php
└── Dockerfile

⁠Run the application

  1. Start the application :

    docker-compose up -d
    

    Please wait this might take a several minutes...

    docker-compose logs -f # Follow log output
    
  2. Open your favorite browser :


⁠Checking installed PHP extensions
docker-compose exec php php -m
⁠Handling database
⁠MySQL shell access
docker exec -it mysql bash

and

mysql -u"$MYSQL_ROOT_USER" -p"$MYSQL_ROOT_PASSWORD"
⁠Creating a backup of all databases
mkdir -p data/db/dumps
source .env && docker exec $(docker-compose ps -q mysqldb) mysqldump --all-databases -u"$MYSQL_ROOT_USER" -p"$MYSQL_ROOT_PASSWORD" > "data/db/dumps/db.sql"
⁠Restoring a backup of all databases
source .env && docker exec -i $(docker-compose ps -q mysqldb) mysql -u"$MYSQL_ROOT_USER" -p"$MYSQL_ROOT_PASSWORD" < "data/db/dumps/db.sql"
⁠Creating a backup of single database

Notice: Replace "YOUR_DB_NAME" by your custom name.

source .env && docker exec $(docker-compose ps -q mysqldb) mysqldump -u"$MYSQL_ROOT_USER" -p"$MYSQL_ROOT_PASSWORD" --databases YOUR_DB_NAME > "data/db/dumps/YOUR_DB_NAME_dump.sql"
⁠Restoring a backup of single database
source .env && docker exec -i $(docker-compose ps -q mysqldb) mysql -u"$MYSQL_ROOT_USER" -p"$MYSQL_ROOT_PASSWORD" < "data/db/dumps/YOUR_DB_NAME_dump.sql"

⁠Help out

Any thought, feedback or (hopefully not!)

Tag summary

Content type

Image

Digest

sha256:695ef6d34…

Size

155.7 MB

Last updated

about 3 years ago

docker pull damofd/php-apache-phpmyadmin