Skip to content

Instantly share code, notes, and snippets.

@neenjaw
Created August 19, 2020 04:27
Show Gist options
  • Save neenjaw/1836720daf05b7261ca62e44dcffcaaa to your computer and use it in GitHub Desktop.
Save neenjaw/1836720daf05b7261ca62e44dcffcaaa to your computer and use it in GitHub Desktop.
Laradock and Laravel

Goal

  • Set up laravel for php/composer/nginx/mysql/phpmyadmin in a docker environment

required

  • PHP (current)
  • Composer
  • Docker
  • Git

references

steps

  • create base dir projects
  • composer global require laravel/installer
  • laravel new project-1
  • cd project-1
    • vim .env
      • change DB_HOST=mysql, password too
  • add to /etc/hosts -> 127.0.0.1 project-1.test
  • git clone https://github.com/Laradock/laradock.git
  • cd laradock
    • cp env-example .env
    • vim .env
      • change the root password for mysql
  • cd laradock/nginx/sites
    • cp laravel.conf.example project_1.conf (name isn't important other than for organization)
    • vim project_1.conf
      • make two changes:
      server_name project-1.test;
      root /var/www/project-1/public;
      
  • cd laradock
    • docker-compose up -d nginx mysql phpmyadmin
    • docker-compose exec workspace bash to enter container shell
      • cd project-1
      • artisan key:generate
      • exit back to local shell
  • cd project-1
    • sudo chmod -R 777 storage bootstrap/cache, some folders need to be writable to web server user
  • cd laradock
    • docker-compose exec mysql bash enter mysql container
      • mysql -uroot -p enter password
        • mysql> create database project1;
        • mysql> exit
      • exit
  • cd project-1
    • vim .env
      • change DB_DATABASE=project1
  • cd laradock
    • docker-compose exec workspace bash
      • container> cd project-1
      • container> artisan migrate

Result:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment