laravel-base/Dockerfile
Jaysen 298e1162f5 Update for Laravel 6
Update composer to 1.9
Add unzip

Alpine
- Update alpine to 3.10
- Update node to 12.x

Stretch
- Update node to 12.x
- Install yarn through npm instead of apt
2019-10-17 19:47:42 -06:00

68 lines
1.9 KiB
Docker

FROM composer:1.9 as composer
FROM php:7.3-fpm-alpine3.10 as alpine
COPY --from=composer /usr/bin/composer /usr/bin/composer
WORKDIR /app
RUN apk add --no-cache \
bash \
icu \
icu-dev \
libxml2-dev \
libzip-dev \
nodejs-current \
nodejs-npm \
unzip
RUN apk add --no-cache --virtual .node-build-deps \
g++ \
make \
python \
&& docker-php-ext-configure intl \
&& docker-php-ext-install -j$(nproc) \
intl \
opcache \
pdo_mysql \
zip \
&& apk del .node-build-deps
RUN npm install -g yarn
ENV PATH="/app:/app/vendor/bin:${PATH}"
COPY conf.d/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
# sane defaults for opcache
ENV PHP_OPCACHE_VALIDATE_TIMESTAMPS="0"
ENV PHP_OPCACHE_MAX_ACCELERATED_FILES="10000"
ENV PHP_OPCACHE_MEMORY_CONSUMPTION="192"
FROM php:7.3-fpm-stretch as stretch
COPY --from=composer /usr/bin/composer /usr/bin/composer
WORKDIR /app
RUN apt update \
&& apt install --no-install-recommends -y \
apt-transport-https \
curl \
gnupg \
libzip-dev \
software-properties-common \
unzip \
zlib1g-dev \
&& curl -sL https://deb.nodesource.com/setup_12.x | bash - \
&& apt update \
&& apt install --no-install-recommends -y \
libicu-dev \
nodejs \
npm \
&& ln -s $(which nodejs) /usr/local/bin/node \
&& npm -g install yarn \
&& docker-php-ext-configure intl \
&& docker-php-ext-install -j$(nproc) \
intl \
opcache \
pdo_mysql \
zip \
&& rm -rf /var/lib/apt/lists/*
ENV PATH="/app:/app/node_modules/.bin:/app/vendor/bin:${PATH}"
COPY conf.d/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
# sane defaults for opcache
ENV PHP_OPCACHE_VALIDATE_TIMESTAMPS="0"
ENV PHP_OPCACHE_MAX_ACCELERATED_FILES="10000"
ENV PHP_OPCACHE_MEMORY_CONSUMPTION="192"