/
Dockerfile
45 lines (41 loc) · 1.66 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
FROM php:7.4-fpm-alpine3.12 as deps
COPY --from=composer:1.6 /usr/bin/composer /usr/bin/composer
WORKDIR /app
COPY app/AppKernel.php /app/app/
COPY app/AppCache.php /app/app/
COPY composer.json /app/
COPY composer.lock /app/
RUN composer install --optimize-autoloader --no-interaction --ignore-platform-reqs --no-scripts
FROM php:7.4-fpm-alpine3.12
MAINTAINER Adam Quaile <adamquaile@gmail.com>
RUN apk update --no-cache \
&& apk add openssl \
&& apk add ca-certificates \
&& apk add zlib-dev \
&& apk add bash \
&& apk add nginx=1.18.0-r0 \
&& apk add zip \
&& apk add libzip-dev=1.6.1-r1 \
&& apk add unzip \
&& docker-php-source extract \
&& docker-php-ext-install zip \
&& docker-php-ext-install bcmath \
&& docker-php-source delete \
&& wget https://raw.githubusercontent.com/chrismytton/shoreman/380e745d1c2cd7bc163a1485ee57b20c76395198/shoreman.sh && chmod +x shoreman.sh && mv shoreman.sh /usr/local/bin/shoreman
WORKDIR /app
COPY --from=deps /app/vendor /app/vendor
COPY . /app
RUN cp /app/infrastructure/php-fpm/php-fpm.conf /usr/local/etc/php-fpm.conf && \
cp /app/infrastructure/php-fpm/www.conf /usr/local/etc/php-fpm.d/www.conf && \
cp /app/infrastructure/nginx/nginx.conf /etc/nginx/nginx.conf && \
cp /app/infrastructure/nginx/vhost.conf /etc/nginx/conf.d/default.conf
RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log
ENV SYMFONY_ENV prod
EXPOSE 8080
RUN addgroup enveloper && adduser -D -G enveloper enveloper && \
chown -R enveloper:enveloper \
/app \
/var/lib/nginx/ \
/etc/nginx
USER enveloper
CMD ["/usr/local/bin/shoreman"]