Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:virtualizacion:docker:docker_compose:lemp

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:sistemas_operativos:virtualizacion:docker:docker_compose:lemp [2021/05/16 14:00] tempwininformatica:sistemas_operativos:virtualizacion:docker:docker_compose:lemp [2021/05/16 14:07] (actual) – [site.conf] tempwin
Línea 2: Línea 2:
  
 Despliegue de una arquitectura multicontenedor compuesta por un servidor web Ngin, un intérprete de PHP y un motor de base de datos MariaDB Despliegue de una arquitectura multicontenedor compuesta por un servidor web Ngin, un intérprete de PHP y un motor de base de datos MariaDB
 +
 +===== Imágenes =====
  
   * Imagen Nginx: https://hub.docker.com/_/nginx   * Imagen Nginx: https://hub.docker.com/_/nginx
Línea 11: Línea 13:
 La imagen de Adminer no es necesaria, aunque la incluyo por la comodida de tener una aplicación web para gestionar la base de datos y así no depender de tener instalado un cliente de base de datos La imagen de Adminer no es necesaria, aunque la incluyo por la comodida de tener una aplicación web para gestionar la base de datos y así no depender de tener instalado un cliente de base de datos
 </WRAP> </WRAP>
 +
 +===== Ficheros =====
 +
 +La estructura sería la siguiente:
 +
 +<code>
 +├── app
 +├── docker
 +│   ├── nginx
 +│   │   ├── site.conf
 +│   ├── php
 +│   │   ├── Dockerfile
 +├── docker-compose.yml
 +</code>
 +
 +  * ''app'': directorio que va a servir nginx.
 +  * ''nginx/site.conf'': configuración del virtual host de nginx.
 +  * ''php/Dockerfile'': Dockerfile para adaptar la imagen de PHP a nuestro gusto.
 +  * ''docker-compose.yml''
 +==== docker-compose.yml ====
  
 <code yaml> <code yaml>
Línea 44: Línea 66:
 </code> </code>
  
-Contenido del fichero ''site.conf'':+==== site.conf ====
  
-<code>+Configuración del virtual host de nginx. 
 + 
 +<code nginx>
 server { server {
     listen 80;     listen 80;
Línea 56: Línea 80:
         try_files $uri =404;         try_files $uri =404;
         fastcgi_split_path_info ^(.+\.php)(/.+)$;         fastcgi_split_path_info ^(.+\.php)(/.+)$;
-        fastcgi_pass lar-php:9000;+        fastcgi_pass php:9000;
         fastcgi_index index.php;         fastcgi_index index.php;
         include fastcgi_params;         include fastcgi_params;
Línea 69: Línea 93:
 </WRAP> </WRAP>
  
-Contenido del ''Dockerfile'':+==== Dockerfile ====
  
-<code yaml> +En este fichero modificaremos la imagen de base de PHP para adaptarlo a nuestros requisitos:
-FROM php:7-fpm-alpine +
-RUN docker-php-ext-install mysqli pdo_mysql  +
-# RUN docker-php-ext-install session +
-# RUN docker-php-ext-install pdo +
-</code>+
  
-El directorio raíz desde el que el servidor web enviará los documentos está establecido en ''./htdocs''.+<code Dockerfile> 
 +FROM php:fpm-alpine 
 + 
 +# Modificamos UID y GID del usuario www-data para que coincida con el 
 +# del usuario que ejecuta el servidor web en el contenedor con nginx 
 +# Si no fuese Alpine, se podría hacer con `usermod -u <UID> www-data` 
 +# Más info:  
 +# https://stackoverflow.com/questions/36824222/how-to-change-the-nginx-process-user-of-the-official-docker-image-nginx 
 + 
 +RUN deluser www-data && adduser -DH -h /home/www-data -s /sbin/nologin -u 101 www-data 
 +RUN docker-php-ext-install mysqli pdo_mysql 
 +</code>
informatica/sistemas_operativos/virtualizacion/docker/docker_compose/lemp.1621166435.txt.gz · Última modificación: por tempwin