====== Docker Compose: nginx + PHP ====== Despliegue de una arquitectura multicontenedor compuesta por un servidor web Nginx y un intérprete de PHP. * Imagen Nginx: https://hub.docker.com/_/nginx * Imagen PHP: https://hub.docker.com/_/php version: '3.4' services: webserver: container_name: lar-nginx image: nginx:alpine ports: - "80:80" volumes: - ./htdocs:/usr/share/nginx/html - ./config/nginx/site.conf:/etc/nginx/conf.d/default.conf php: container_name: lar-php build: # dockerfile: Dockerfile context: . volumes: - ./htdocs:/usr/share/nginx/html 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''.