Skip to content

mmuniraju4444/LaravelDocker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cc495ea · Feb 2, 2025
Nov 26, 2023
Nov 9, 2024
Jan 6, 2025
Nov 26, 2023
Jun 23, 2018
Sep 30, 2018
Nov 26, 2023
Jan 11, 2022
Nov 26, 2023
Jan 15, 2024
Nov 26, 2023
Feb 2, 2025
Nov 26, 2023
Jan 11, 2022
Jan 11, 2022
Jan 15, 2024
Jan 15, 2024
Nov 26, 2023
Nov 26, 2023
Mar 25, 2021
Mar 25, 2021
Nov 26, 2023
Nov 26, 2023
Feb 2, 2025
Dec 17, 2021
Feb 1, 2025
Feb 1, 2025
Nov 26, 2023
Jan 11, 2022
Jul 22, 2024
Nov 26, 2023
Nov 26, 2023
Nov 26, 2023
Jan 11, 2022
Feb 1, 2025
Dec 17, 2021
Jul 22, 2024
Nov 26, 2023
Jul 22, 2024
Mar 16, 2024
Nov 26, 2023
Feb 1, 2025
Jun 7, 2020
Sep 30, 2018
Feb 1, 2025

Repository files navigation

LaravelDocker

Docker for Laravel PHP Framework.

Master - Slave

Master

-> CREATE USER 'docker_slave'@'localhost' IDENTIFIED BY 'slave';
-> GRANT REPLICATION SLAVE ON *.* TO docker_slave IDENTIFIED BY 'slave' WITH GRANT OPTION;
-> FLUSH PRIVILEGES;
-> FLUSH TABLES WITH READ LOCK;
-> Dump the Database which is required i.e, part of the slave. ( mysqldump -u root -p mariadb > mariadb-master-dump.sql ).
-> UNLOCK TABLES;
-> SHOW MASTER STATUS;

Slave

-> CREATE USER 'docker_slave'@'localhost' IDENTIFIED BY 'slave';
-> GRANT ALL PRIVILEGES ON mariadb.* TO 'docker_slave'@'localhost' WITH GRANT OPTION;
-> FLUSH PRIVILEGES;
-> Import the Database of Master i.e, Dumped database of master server.
-> CHANGE MASTER TO MASTER_HOST='mariadb-master', MASTER_USER='docker_slave', MASTER_PASSWORD='slave', MASTER_PORT=3306, MASTER_LOG_FILE='master-bin.000003', MASTER_LOG_POS=1046, MASTER_CONNECT_RETRY=10, MASTER_USE_GTID=current_pos;
-> START SLAVE;
-> SHOW SLAVE STATUS

Note : If you get error about creating new user failed in 'SHOW SLAVE STATUS', then drop the user ('DROP USER <user_name>') from Slave and run 'STOP SLAVE; START SLAVE';

Elastic Search

To make it persistent, you can add this line: vm.max_map_count=262144 in your /etc/sysctl.conf and run $ sudo sysctl -p to reload configuration with new value

Application

Save all the application under Source folder.

Example of folder structure of Source after adding app1 and app2.

-> Nginx
-> Source
    -> app1
    -> app2

Note : This Repo supports only one Application at a time. (i.e you can run only one application). To change the application, we need to change the 'root path' in 'Nginx->conf->app.conf''

Composer

Go-to the application path (~/Laravel/Source/app1) and run the below commands for installing package dependency

composer install

docker run
    --rm
    --interactive
    --tty
    --volume $PWD:/app
    --user $(id -u):$(id -g)
    composer:1.6.4 install

composer require

docker run
    --rm
    --interactive
    --tty
    --volume $PWD:/app
    --user $(id -u):$(id -g)
    composer:1.6.4 require predis/predis