This commit is contained in:
53
docker/base-image/Dockerfile
Normal file
53
docker/base-image/Dockerfile
Normal file
@@ -0,0 +1,53 @@
|
||||
FROM ubuntu:20.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV APACHE_RUN_USER=www-data
|
||||
ENV APACHE_RUN_GROUP=www-data
|
||||
ENV TZ="America/Sao_Paulo"
|
||||
|
||||
RUN apt-get update
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl \
|
||||
wget \
|
||||
lsof \
|
||||
supervisor \
|
||||
zip \
|
||||
unzip \
|
||||
apache2 \
|
||||
php7.4 \
|
||||
php7.4-mysql \
|
||||
php7.4-interbase \
|
||||
php7.4-mbstring \
|
||||
php7.4-xml \
|
||||
php7.4-zip \
|
||||
php7.4-gd \
|
||||
php7.4-curl
|
||||
|
||||
RUN a2enmod rewrite
|
||||
|
||||
RUN wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb \
|
||||
&& apt-get install -y ./wkhtmltox_0.12.6-1.focal_amd64.deb --no-install-recommends \
|
||||
&& rm -rf wkhtmltox_0.12.6-1.focal_amd64.deb
|
||||
|
||||
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
||||
&& php composer-setup.php --install-dir=/bin --filename=composer \
|
||||
&& php -r "unlink('composer-setup.php');"
|
||||
|
||||
RUN apt-get autoremove -y \
|
||||
&& apt-get clean
|
||||
|
||||
RUN rm -rf /var/www/* \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& rm -rf /tmp/provisioning*
|
||||
|
||||
RUN ln -sf /dev/stdout /var/log/apache2/access.log \
|
||||
&& ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log \
|
||||
&& ln -sf /dev/stderr /var/log/apache2/error.log
|
||||
|
||||
RUN echo "umask 0003" >> /etc/bash.bashrc
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
CMD ["supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
41
docker/base-image/README.md
Normal file
41
docker/base-image/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Imagem base da aplicacao
|
||||
|
||||
Substitui `tirkm/v2-application:6` por uma base dedicada ao runtime do
|
||||
ConectaSUS. Node/npm continuam no stage `frontend-build` do Dockerfile da
|
||||
aplicacao e, portanto, nao fazem parte desta imagem.
|
||||
|
||||
## Build
|
||||
|
||||
Execute a partir da raiz de `application`:
|
||||
|
||||
```sh
|
||||
docker build \
|
||||
-f docker/base-image/Dockerfile \
|
||||
-t tirkm/v2-application:7 \
|
||||
.
|
||||
```
|
||||
|
||||
Depois, valide a aplicacao com a nova base sem editar o Dockerfile principal:
|
||||
|
||||
```sh
|
||||
docker build \
|
||||
--build-arg BASE_IMAGE=tirkm/v2-application:7 \
|
||||
-t conectasus:base-7 \
|
||||
.
|
||||
```
|
||||
|
||||
## O que foi removido
|
||||
|
||||
- `vim`, `lsof`, `git`, `wget`, `zip` e `unzip`;
|
||||
- Node.js e npm, que ja existem apenas no stage de build do frontend;
|
||||
- caches e indices do APT;
|
||||
- `curl` e `xz-utils`, usados temporariamente para instalar o wkhtmltopdf.
|
||||
|
||||
O Composer e copiado da imagem oficial em vez de executar um instalador remoto
|
||||
sem verificacao. O pacote do wkhtmltopdf tem o SHA-256 validado antes da
|
||||
instalacao.
|
||||
|
||||
> PHP 7.4, Ubuntu 20.04 e wkhtmltopdf 0.12.6 estao fora de suporte. Esta imagem
|
||||
> reduz o tamanho e a superficie instalada, mas nao elimina esse risco. A
|
||||
> atualizacao de runtime deve ser tratada em uma etapa separada, com testes da
|
||||
> aplicacao.
|
||||
Reference in New Issue
Block a user