DEV Community

Chris Arter
Chris Arter

Posted on

A no-fuss Laravel + Docker starter repo

This starter repo was born out of frustration of getting docker working with Laravel. Hopefully this will save you some headache!

First, clone the repo here: https://github.com/christopherarter/Quick-Laravel-Docker-Starter

Prerequisites:

  1. PHP 7.1 (minimum)
  2. Composer install guide
  3. Docker install guide
  4. Docker Compose install guide

Get started

  1. Clone this repo and navigate to the repo folder. Run composer create-project --prefer-dist laravel/laravel my-app
  2. Run mv my-app/* my-app/.* ./ && rm -rf my-app
  3. Change the values in your .env to the values below:
DB_CONNECTION=mysql
DB_HOST=laravel_db
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel_user
DB_PASSWORD=myStrongPassword1234

The last step, run docker-compose up

When you run docker ps, you should see your service running locally at http://localhost:9000

To run migrations and commands that interact with the database you need to be inside the laravel web app container.

Run docker ps and get the id of the laravel web container. Next, run docker exec -it <container-id> /bin/bash and you should be at /var/www/app. You may now run artisan commands to interact with the database.

Connecting to your database with a database tool

To connect with this database using tools like MySQL Workbench, DB Beaver or TablePlus, you can access it with the 3305 port, username and password you specified in your .env file.

Top comments (0)