Text

Samuel R. Loza Ramirez

Dockerizando

Angular + laravel + bd

Problemas !!

Al rescate

Docker

CREANDO EL PROYECTO EN LARAVEL

INGREDIENTES

php
php-devel ,  php-mysql ,  php-common
php-mbstring,  php-cli ,  php-pear,
php-mcryp,  php-process,  php-soap,
php-gd ,  php-opcache ,  php-pdo ,
php-pear,  php-pecl-apcu ,  php-pecl-memcache,  php-tidy,  php-xml,  php-xmlrpc

 

Apache o Nginx

Centos, Ubuntu, Debian, etc.

La receta

(Dockerfile)

Horneando

EOF BACKEND

CREANDO LA

IMAGEN DE

ANGULAR

INGREDIENTES

Nodejs

@angular/cli

RECETA

COCINANDO

EOF FRONTEND

MARIADB PHPMYADMIN

INGREDIENTES

Mysql

RECETA

COCINANDO

phpmyadmin

Ya esta bien cocinado

EOF BD

Ya tenemos todos listo.

Uniendo todo

CUAL ES MAS FACIL ?

miproyecto.dev

localhost:8080

192.168.1.113

192.168.1.113:8080

MIPROYECTO.DEV

Creamos nuestra red interna

docker network create proyecto-net

Obtenemos la ip del Gateway

docker inspect proyeto-net | grep "Gateway" | awk -F: '{print $2}'

Recuerda esta IP

172.19.0.1

docker run --name proyecto-api  \
-e 'TIMEZONE=America/La_Paz'  \
--network proyecto-net \
--restart=always \
--ip 172.19.0.1 \
-v /opt/miproy/back/:/var/www/html  \
-d proyecto:api

UNIENDO TODO

Recuerdas la ip ?

172.19.0.1

echo "172.19.0.2 proyecto-api.dev" |  sudo tee --append  /etc/hosts

Agregamos la IP /etc/hosts

 

docker exec -it proyecto-api /bin/bash
cd public/
composer install
php artisan key:generate

Instalamos composer

Para salir control + d

EOF

MARIADB

docker run -d \
--network proyecto-net \
--name proyecto-db \
--ip 172.19.0.3 \
--restart=always \
-v /opt/miproy/mysql_data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root proyecto:db 

Asignamos la clave para root

docker exec -it proyecto-db /bin/bash
mysql --user=root --password=root 

PHPMYADMIN

docker run --name proyecto-phpmyadmin \
-d \
--network proyecto-net \
--restart=always \
--ip 172.19.0.4 \
-e PMA_HOST=proyecto-db \
-e PMA_PORT=3306 \
phpmyadmin/phpmyadmin

INICIAMOS EL CONTENEDOR

echo "172.19.0.4 proyecto-myadmin.dev" |  sudo tee --append  /etc/hosts

Agregamos la IP /etc/hosts

Remplazamos  las credenciales de la BD dentro de LARAVEL

DB_CONNECTION=mysql
DB_HOST=proyecto-db o la ip 172.19.0.3
DB_PORT=3306
DB_DATABASE=identidad
DB_USERNAME=identidad
DB_PASSWORD=identidad

EOF

ANgular

docker run --rm -it -v /opt/miproy/front:/usr/src/app proyecto:front npm install 

Iniciando el contenedor

docker run -d  \
--network proyecto-net \
--restart=always \
--ip 172.19.0.5  -p 4200:4200 \
-w /opt -v $(pwd):/opt \
--name proyecto-user \
proyecto:front ng \
serve --host 0.0.0.0 --port 80

En los comandos para lanzar los contenedores hay:

--restart=always 

Este comando se usa para iniciar automaticamente el contenedor.

OjO

docker logs -f proyecto-user

Logs para el front

Made with Slides.com