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
Dockerizando
By Samuel LR
Dockerizando
- 409