Skip to content

Docker for develop with LEMP and more environment

Notifications You must be signed in to change notification settings

falces/dockerLEMP

Repository files navigation

Descripción

Contenedores Docker incluidos en la aplicación:

  • Servidor web NGINX
  • Intérprete PHP-FPM
  • Base de datos:
    • MySQL
  • Portainer
  • PHPMyAdmin

Instalación

Crear una carpeta (myFolder) donde tendremos la carpeta con nuestro código y la carpeta con este proyecto docker y nos situamos dentro de esta carpeta:

$ mkdir myFolder
$ cd myFolder

Clonamos este proyecto y nos ubicamos dentro de la carpeta creada:

# SSH
$ git clone git@github.com:falces/dockerLEMP.git
# Opcionalmente podemos indicar un nombre de carpeta destino diferente:
$ git clone git@github.com:falces/dockerLEMP.git docker
$ cd docker

Creamos un archivo .env a partir de la plantilla incluida .env.template:

$ cp .env.template .env

Editamos el archivo .env, prestando especial atención a los apartados APP y PORTS, donde daremos el nombre de nuestra aplicación, el nombre de la carpeta donde se contendrá y el prefijo para el nombre de los contenedores, así como los puertos a través de los cuales accederemos a los contenedores, que no deben coincidir con otros puertos que podamos tener expuestos en otras aplicaciones.

APP_FOLDER es el nombre de la carpeta donde tendremos nuestro código, dentro de myFolder en este ejemplo:

#!/usr/bin/env bash

# APP
COMPOSE_PROJECT_NAME=myTest
PROJECT_PREFIX=mt_
APP_NAME=myTest
APP_FOLDER=mySymfony
# Access via thisDomainName.local (add in /etc/hosts):
NGINX_BACKEND_DOMAIN=mySymfony

# PORTS
PUBLIC_WEB_PORT=8010
MYSQL_PORT=8011
PHPMYADMIN_PORT=8012
PORTAINER_PORT=8013

Editar esta línea del archivo de configuración del sitio en Nginx /docker/nginx/conf/site.conf:

# Edit this root folder
root            /var/www/public;

Por defecto apunta a la carpeta public que tendremos dentro de la carpeta de código de nuestro proyecto si, por ejemplo, esta fuera a usar Symfony. Si queremos que la raíz del proyecto sea también la raíz de nuestra carpeta de código, modificaremos:

# Edit this root folder
root            /var/www;

Para instalar Symfony nos situamos en la carpeta myFolder y ejecutamos:

# Con Symfony-CLI:
$ symfony new mySymfony --version=5.4

# Con Composer:
$ composer create-project symfony/skeleton:"^5.4" mySymfony

# Si queremos crear una web en lugar de una API, añadimos:
$ composer require webapp

La estructura de carpetas en este ejemplo quedaría así:

myFolder
  ↳ docker
  ↳ mySymfony
    ↳ ...
    ↳ public
    ↳ ...

Docker Compose en Mac con procesador M1

En el archivo docker-compose.override.yml se incluye una línea para adaptar la instalación de MySQL a la arquitectura del procesador M1. Si no se usa este tipo de procesador u ordenador, eliminar este archivo.

Ejecución

Necesitaremos tener instalado y en ejecución Docker.

Para construir y levantar el contenedor, nos situamos en terminal dentro de la carpeta del proyecto y ejecutamos:

$ docker-compose up --build -d

About

Docker for develop with LEMP and more environment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published