Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:virtualizacion:docker:docker_compose:lemp

¡Esta es una revisión vieja del documento!


Docker Compose: nginx + PHP + 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

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

version: '3'

services:
  webserver:
    image: nginx:alpine
    # For different app you can use different names. (eg: )
    #    container_name: web-server
    volumes:
      # app source code
      - ./app:/usr/share/nginx/html
      - ./config/nginx/site.conf:/etc/nginx/conf.d/default.conf
      # db data persistence
    ports:
      - 8080:80
  php:
    # image: php:fpm-alpine
    build: .
    volumes:
      - ./app:/usr/share/nginx/html
  database:
    image: mariadb:focal
    environment:
      - MYSQL_ROOT_PASSWORD=abcd1234.
  adminer:
    image: adminer
    restart: always
    ports: 
      - 8123:8080

Contenido del fichero site.conf:

server {
    listen 80;
    index index.php index.html;
    server_name localhost;
    root /usr/share/nginx/html/;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass lar-php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

El nombre del host que se le pasa a fastcgi_pass debe coincidir con lo establecido en container_name.

Contenido del Dockerfile:

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

El directorio raíz desde el que el servidor web enviará los documentos está establecido en ./htdocs.

informatica/sistemas_operativos/virtualizacion/docker/docker_compose/lemp.1621166409.txt.gz · Última modificación: por tempwin