Build and Run Laravel 7 in Docker Part 2 - PHP

Build and Run Laravel 7 in Docker Part 2 - PHP

Creating the App

Open your docker-compose.yml and paste the following. Notice the dockerfile line. We reference another file that will contain all our app information. Your working directory will be where your Laravel project will exist.

version: "3.7"

# The Application
app: container_name: app build: context: ./ dockerfile: app.dockerfile working_dir: /var/www volumes: - ./:/var/www environment: CONTAINER_ROLE: app depends_on: - database environment: - "DB_PORT=3306" - "DB_HOST=database"


Within you root of Laravel create a file called app.dockerfile

touch app.dockerfile

In this example we will use php-fpm 7.2. Inside the app.dockerfile paste the following:

FROM php:7.2.5-fpm

RUN apt-get update && apt-get install -y libmcrypt-dev \
  mysql-client libmagickwand-dev --no-install-recommends \
  && docker-php-ext-install pdo_mysql \
  && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
  && docker-php-ext-install -j$(nproc) gd \
    && docker-php-ext-install zip 

RUN apt-get update \
  && apt-get install -y git \
    && apt-get install zip unzip

# Install Composer
RUN curl -sS | php -- --install-dir=/usr/local/bin --filename=composer

CMD docker-php-entrypoint php-fpm 



Part 3 - Adding Nginx to your docker build

Categories: Posts