/laravel

Docker image to run Laravel 5.x projects

Primary LanguageShell

Docker Pulls

laravel

Docker image to run PHP (supporting Laravel) and Node projects.

In the latest update, I changed the base image to php:alpine for size optimizing.

Tags

  • 7.1.9-alpine:
  • php 7.1.9
    • composer 1.5.1
  • nodejs 8.4.0
    • npm 5.4.1
    • yarn 1.0.0

Supported Databases (PDO)

  • mssql (via dblib)
  • mysql
  • pgsql
  • sqlite

Extra supported extensions

  • curl
  • exif
  • gd
  • ldap
  • mongodb

Installing

docker pull kukuhpro/laravel-hub

Using

With docker

docker run --name <container_name> -d -v $PWD:/var/www -p 80:80 kukuhpro/laravel-hub

Where $PWD is the laravel installation folder.

With docker-compose

Create a docker-compose.yml file in the root folder of project using this as a template:

web:
    image: kukuhpro/laravel-hub:latest
    ports:
        - 80:80
    volumes:
        - ./:/var/www
    # If you don't want to use default 'artisan serve' command, edit and uncomment the line below.
    # command: php -S 0.0.0.0:80 -t public public/index.php

Then run using this command:

docker-compose up

If you want to use a database, you can create your docker-compose.yml with two containers.

web:
    image: kukuhpro/laravel-hub:latest
    ports:
        - 80:80
    volumes:
        - ./:/var/www
    links:
        - db
    environment:
        DB_HOST: db
        DB_DATABASE: dbname
        DB_USERNAME: username
        DB_PASSWORD: p455w0rd
        DB_CONNECTION: [pgsql or mysql]
db:
    image: [postgres or mysql]
    environment:
        # with mysql
        MYSQL_DATABASE: dbname
        MYSQL_USER: username
        MYSQL_PASSWORD: p455w0rd

        # with postgres
        POSTGRES_DB: dbname
        POSTGRES_USER: username
        POSTGRES_PASSWORD: p455w0rd