-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDockerfile
More file actions
executable file
·64 lines (54 loc) · 2.36 KB
/
Dockerfile
File metadata and controls
executable file
·64 lines (54 loc) · 2.36 KB
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
FROM php:7.4-apache
MAINTAINER Fabio J L Ferreira <fabiojaniolima@gmail.com>
# Pode assumir "prod" ou "dev"
ENV TIPO_AMBIENTE=prod
# Instala e configura componentes essenciais
RUN apt-get update && \
a2enmod rewrite && \
apt-get install -y --no-install-recommends gnupg unzip && \
curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
apt-get install -y --no-install-recommends nodejs && \
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/ --filename=composer; \
echo "America/Sao_Paulo" > /etc/timezone; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false gnupg; \
# Uma versão mínima será gerada na criação do container
rm -f /etc/apache2/sites-enabled/000-default.conf
# Instala extensões adicionais do PHP
# Extensão "DG" => http://php.net/manual/pt_BR/book.image.php
RUN apt-get install -y --no-install-recommends libjpeg-dev libpng-dev && \
docker-php-ext-configure gd --with-jpeg-dir=/usr/include/ && \
docker-php-ext-install gd; \
\
# Instala a extensão PHP "exif" => http://php.net/manual/pt_BR/intro.exif.php
apt-get install -y --no-install-recommends libexif-dev && \
docker-php-ext-install exif; \
\
# Extensão PHP para Internacionalização => http://php.net/manual/pt_BR/book.intl.php
apt-get install -y --no-install-recommends libicu-dev && \
docker-php-ext-configure intl && \
docker-php-ext-install intl; \
\
# Instala as extensões PHP "mysqli pdo_mysql pgsql pdo_pgsql"
apt-get install -y --no-install-recommends libpq-dev && \
docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql && \
docker-php-ext-install mysqli pdo_mysql pgsql pdo_pgsql; \
\
# Implementa uma interface de baixo nível para funções de comunicação sockets
docker-php-ext-install sockets; \
\
# Instala a extensão soap
apt-get install -y --no-install-recommends libxml2-dev && \
docker-php-ext-install soap; \
\
# Instala a extensão para cache de bytecode OPcache
docker-php-ext-install opcache
# arquivos de configuração do Apache e PHP
COPY config /usr/src/fabiojanio
COPY start.sh /start.sh
# Limpa repositório local e atribuimos permissão ao /start.sh
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/*; \
chmod +x /start.sh
WORKDIR /var/www
EXPOSE 80
CMD ["/start.sh"]