-
Notifications
You must be signed in to change notification settings - Fork 24
/
Dockerfile.alternativa
73 lines (56 loc) · 2.48 KB
/
Dockerfile.alternativa
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Argumentos da Imagem
## Versão da Imagem Docker PHP
ARG PHP_VERSION=8.0.17-fpm
FROM php:${PHP_VERSION}
## Usuário e Id para a imagem
### para visualizar o uid de seu usuário no linux execute: echo $UID no terminal
ARG USER=?
ARG UID=?
## Diretório da aplicação
ARG APP_DIR=/var/www
## Versão da Lib do Redis para PHP
ARG REDIS_LIB_VERSION=5.3.7
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
apt-utils
### apt-utils é um extensão de recursos do gerenciador de pacotes APT
RUN apt-get install -y --no-install-recommends supervisor
COPY ./docker/supervisord/supervisord.conf /etc/supervisor
COPY ./docker/supervisord/conf /etc/supervisord.d/
### Supervisor permite monitorar e controlar vários processos (LINUX)
### Bastante utilizado para manter processos em Daemon, ou seja, executando em segundo plano
# dependências recomendadas de desenvolvido para ambiente linux
RUN apt-get update && apt-get install -y \
zlib1g-dev \
libzip-dev \
unzip \
libpng-dev \
libpq-dev \
libxml2-dev
RUN docker-php-ext-install mysqli pdo pdo_mysql pdo_pgsql pgsql session xml
# habilita instalação do Redis
## https://pecl.php.net/package/redis
RUN pecl install redis-${REDIS_LIB_VERSION} \
&& docker-php-ext-enable redis
# Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN docker-php-ext-install zip iconv simplexml pcntl gd fileinfo
#COPY php.ini-production /usr/local/etc/php/php.ini
RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
WORKDIR $APP_DIR
RUN cd $APP_DIR
RUN chmod 755 -R *
RUN chown -R www-data: *
# Adicionando para execução de comandos Composer e Artisan, e também compatibilidade de leitura e escrita
## add usuário ao grupo de www-data e root, com o $UID informado, no diretório X, e com nome de usuário $USER
RUN useradd -G www-data,root -u $UID -d /home/$USER $USER
RUN chown -R $USER:$USER $APP_DIR && chmod 755 -R $APP_DIR/* && chown -R $USER:$USER /etc/supervisord.d/ && chown -R $USER:$USER /etc/supervisor
# Instalado o NGINX
RUN apt install nginx -y
# carragar configuração padrão do NGINX
COPY ./docker/nginx/nginx.conf /etc/nginx/nginx.conf
# se for necessário criar os sites disponíveis já na confecção da imagem, então descomente a linha abaixo
# COPY ./docker/nginx/sites /etc/nginx/sites-available
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
USER $USER