Sencillo servidor Nginx

Un docker-compose.yml para montar un servidor Nginx y hacer correr páginas html.

Me ha servido de pruebas para hacer deploy automatizado con gitlab.com

docker-compose.yml
version: '3'

services:
  apache:
    container_name: mi_web
    image: nginx
    volumes:
      - "$PWD/mi_web/:/usr/share/nginx/html"
    ports:
      - "${PUERTOSERV}:80"
.env
PUERTOSERV=8082

Configuración Plesk

Se ha de configurar el apartado de "Configuración de Apache y Nginx"...

Estructura de archivos

Dentro de mi_web están los archivos html.

El contenido de .gitignore es ...

.gitignore
.env

La idea es poder usar la variable PUERTOSERV distinta en mi localhost como en el servidor de producción. Por lo tanto el archivo .env se habrá de crear en el proceso de deploy.

Configuración del deploy con Plesk

Tengo activado el servicio de git en mi servidor.

Para crear la variable PUERTOSERV con el valor que me interese, creo unas acciones adicionales en la configuración del repositorio en el Plesk

Las acciones son...

echo PUERTOSERV=8081 > .env
docker-compose down
docker-compose up -d

Por lo tanto en mi máquina local corre en el 8082 y en el servidor en el 8081 .

Volúmen

Como se puede ver en el docker-composer el volumen es mi_web donde están los archivos y de donde se alimenta de datos el contenedor. Por lo tanto, cuando el contenedor se elimina, se conservan todos los datos y una vez se vuelve a levantar; recoge los datos de mi_web , conservando todos los archivos.

Last updated