Configurar Laravel con Mysql en Docker

Configurar Laravel con Mysql en Docker
INSTALO DOCKER PARA MYSQL
docker run --name automysql -v /home/backup/bdmysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root911 -d mysql:5.7

INSTALO DOCKER PARA NGINX VINCULANDO MYSQL
docker run --name autodocker -d --link automysql:mysql -p 8080:80 -v "/home/projects/autogestion:/var/www/app:rw" --restart=always romeoz/docker-nginx-php:7.2

VERIFICO DOCKERS INSTALADOS
sudo docker ps -a

PARO DOCKER
docker stop autodocker

ELIMINO DOCKER
docker rm autodocker

INICIO DOCKER
docker start autodocker

EN SERVIDOR LOCAL BAJAR POR EJEMPLO EN /home/projects el codigo del repositorio

BAJO DEL REPOSITORIO EL CODIGO
git clone (link repositorio en este caso de llama autogestion la carpeta)

//INGRESO AL DOCKER DEL NGINX

docker exec -ti autodocker bash

INGRESO A LA CARPETA DEL SITIO
/var/www/app

ACTUALIZAMOS COMPOSER
composer update

CORRO SENTENCIA INICIAL DE LARAVEL
php artisan key:generate

CONFIGURAR LA CONEXION DE BASE DE DATOS EN EL RAIZ DEL PROYECTO BAJADO
copiar .env.example con el nombre .env

EDITAR EL ARCHIVO .ENV configurando la base de datos cuyo servidor de base de dato en este caso es automysql (tambien esta en docker)

luego ingresar al servidor de base de datos y crear la base de datos segun el proyecto

docker exec -ti automysql bash

mysql -uroot -p(clave)

create database (nombrebasedatos)

creada la base de datos regresamos al docker del sistema y corroborando con mucho cuidado que se va a borrar toda la base de datos configurada se ejecuta desde el raiz del proyecto

composer dump-autoload
php artisan migrate:refresh
php artisan db:seed

ESTO EJECUTADO VA A GENERAR LAS TABLAS INICIALES Y LAS QUE TENGA EL PROYECTO EN LA BASE DE DATOS

PARA VERIFICAR SI ESTA CONECTANDOSE EN LA BASE DE SATOS

INGRESO AL SERVIDOR DE BASE DE DATOS

docker exec -ti automysql bash

INGRESO A LA BASE DE DATOS

mysql -uroot -p(clave)

use nombrebasedatos

show tables


DENTRO DEL autodocker CONFIGURAR EL ARCHIVO /etc/nginx/conf.d/default.conf


server {
    listen       80;
    server_name  localhost;

    root /var/www/app/public;
    index index.php;
    charset utf8;

    location /assets/
    {
        location ~ \.(?:js|json|ts|css|scss|woff(?:2)?|ttf|map|ico|html|xml|swf|flv|pdf|xls|htc|svg|gif|jpg|png|jpeg)$ {
            log_not_found off;
            expires 90d;
            gzip on;
            gzip_static on;
            gzip_http_version 1.1;
            gzip_comp_level 8;
            gzip_types text/plain text/css application/x-javascript text/javascript;
        }

        return 404;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location /
    {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$
    {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }

}
Redmine Appliance - Powered by TurnKey Linux