-
Notifications
You must be signed in to change notification settings - Fork 4
/
Dockerfile
63 lines (51 loc) · 1.76 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
FROM ubuntu:20.04
# Instalar Apache2+PHP y el resto de dependencias
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update \
&& apt-get -yq install \
sudo \
bsdmainutils \
curl \
libapache2-mod-php \
php-intl \
php-curl \
php-mbstring \
php-xml \
php-zip \
php-pdo-mysql \
php-gd \
mysql-client \
build-essential \
zip \
&& curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - \
&& apt -yq install nodejs \
&& rm -rf /var/lib/apt/lists/*
# Descargar composer
RUN curl --insecure https://getcomposer.org/composer.phar -o /usr/bin/composer && chmod +x /usr/bin/composer
# Añadir configuración de zona horaria a PHP
ADD ./docker/symfony.ini /etc/php/7.4/apache2/conf.d/
ADD ./docker/symfony.ini /etc/php/7.4/cli/conf.d/
# Activar mod_rewrite para URL amigables
RUN a2enmod rewrite
# Copiar la aplicación
COPY . /var/www/symfony/
# Copiar el script de inicialización
ADD ./docker/run.sh /run.sh
ADD ./docker/demo.sql /demo.sql
# Añadir permisos de ejecución al script y
# cambiar configuración de apache2 para apuntar
# al nuevo DocumentRoot y aceptar configuración
# por .htaccess
RUN chmod 0755 /run.sh \
&& sed -i 's!/var/www/html!/var/www/symfony/public!g' /etc/apache2/sites-available/000-default.conf \
&& sed -i 's!AllowOverride None!AllowOverride All!g' /etc/apache2/apache2.conf
# Copiar parámetros de la aplicación Symfony
COPY ./docker/.env.local /var/www/symfony/
# Asegurar los permisos correctos en la aplicación
RUN chown -R www-data:www-data /var/www
# Directorio de trabajo, el de la aplicación
WORKDIR /var/www/symfony
# Exponer el puerto 80
EXPOSE 80
# Indicar el script de arranque del contenedor
CMD ["/run.sh"]