Diferencia entre revisiones de «Usuario:ManuelRomero/Laravel/docker laravel»
De WikiEducator
(→Crear un sistema docker) |
|||
(3 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
===Crear un sistema docker=== | ===Crear un sistema docker=== | ||
− | + | ;Identificando los servicios que necesitamos: | |
#apache2 o ngynx | #apache2 o ngynx | ||
− | #php con librerías | + | #php 8.2 con librerías (php-xml, php-zip, php-mbstring, php-mysql) |
− | # | + | #Composer para la gestión de paquetes de php |
− | # | + | #Laravel (instalador o creador de proyectos basados en el framework laravel) |
#npm para la gestión de paquetes en la parte front (tailwind, p.e) | #npm para la gestión de paquetes en la parte front (tailwind, p.e) | ||
− | #mysql o mariabd | + | #mysql o mariabd como gestores de bases de datos |
#phpmyadmin (no necesario, pero útil para ver las bases de datos. | #phpmyadmin (no necesario, pero útil para ver las bases de datos. | ||
+ | ;Mapeo de datos (de la aplicación y de bases de datos) | ||
+ | ;Qué tiene que estar corriendo cuando arranque docker | ||
+ | ===Opciones=== | ||
+ | ;Crear un contenedor | ||
+ | *Creamos un contenedor | ||
+ | <source lang=bash> | ||
+ | docker run --name laravel -ti -v ./app:/var/www/html -p 8000-8050:8000-8050 ubuntu:latest | ||
+ | </source> | ||
+ | *Una vez que tenemos el contenedor, entramos en él e instalamos todo lo que necesitamos | ||
+ | <source lang=bash> | ||
+ | docker start laravel | ||
+ | docker exec -ti laravel bash | ||
+ | apt-get update | ||
+ | apt-get install -y apache2 php | ||
+ | |||
+ | |||
+ | apt-get update | ||
+ | 2 apt-get install apache2 php libapache2-mod-php | ||
+ | 3 apt-get install php-zip php-xml php-mbstring | ||
+ | 4 history | ||
+ | 5 apt-get install mysql-server mysql-client | ||
+ | 6 apt-get install phpmyadmin | ||
+ | 7 service apache2 start | ||
+ | 8 service mysql start | ||
+ | 9 apt-get install phpmyadmin | ||
+ | 10 curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&sudo apt-get install -y nodejs | ||
+ | 11 apt-get install curl | ||
+ | 12 curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&sudo apt-get install -y nodejs | ||
+ | 13 curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&sudo apt-get install -y nodejs | ||
+ | 14 curl -s https://getcomposer.org/installer | php | ||
+ | 15 mv composer.phar /usr/local/bin/composer | ||
+ | 16 mysql -u root | ||
+ | 17 cd /etc/phpmyadmin/conf.d/ | ||
+ | 18 ls | ||
+ | 19 cd .. | ||
+ | 20 ls | ||
+ | 21 vim config-db.php | ||
+ | 22 apt-get install vim | ||
+ | 23 vim config-db.php | ||
+ | 24 ls | ||
+ | 25 cd .. | ||
+ | 26 cd mysql/ | ||
+ | 27 ls | ||
+ | 28 cd conf.d/ | ||
+ | 29 ls | ||
+ | 30 vim mysql.cnf | ||
+ | 31 vim mysqldump.cnf | ||
+ | 32 cd .. | ||
+ | 33 ls | ||
+ | 34 vim my.cnf | ||
+ | 35 cd mysql.conf.d/ | ||
+ | 36 ls | ||
+ | 37 vim mysqld.cnf | ||
+ | 38 composer require laravel/installer | ||
+ | 39 cd | ||
+ | 40 cd .composer/ | ||
+ | 41 ls | ||
+ | 42 cd .. | ||
+ | 43 ls -la | ||
+ | 44 cd .composer/ | ||
+ | 45 ls | ||
+ | 46 cd cache/ | ||
+ | 47 ls | ||
+ | 48 cd / | ||
+ | 49 find / laravel | ||
+ | 50 apt-get install zip | ||
+ | 51 composer global require laravel/installer | ||
+ | 52 ls | ||
+ | 53 cd | ||
+ | 54 ls | ||
+ | 55 cd .composer/ | ||
+ | 56 ls | ||
+ | 57 cd vendor/ | ||
+ | 58 ls | ||
+ | 59 cd laravel/ | ||
+ | 60 ls | ||
+ | 61 cd installer/ | ||
+ | 62 ls | ||
+ | 63 cd bin/ | ||
+ | 64 ls | ||
+ | 65 pwd | ||
+ | 66 cd | ||
+ | 67 vim .bashrc | ||
+ | |||
+ | |||
+ | |||
+ | </source> | ||
+ | |||
+ | ;Crear un solo docker con todo esto instalado | ||
+ | *No es la mejor opción, mucho tiempo y poco optimizado | ||
+ | *Tendríamos un fichero '''''dockerfile''''' con todo lo necesario | ||
+ | *Vamos a hacerlo: |
Última revisión de 04:05 1 feb 2023
Crear un sistema docker
- Identificando los servicios que necesitamos
- apache2 o ngynx
- php 8.2 con librerías (php-xml, php-zip, php-mbstring, php-mysql)
- Composer para la gestión de paquetes de php
- Laravel (instalador o creador de proyectos basados en el framework laravel)
- npm para la gestión de paquetes en la parte front (tailwind, p.e)
- mysql o mariabd como gestores de bases de datos
- phpmyadmin (no necesario, pero útil para ver las bases de datos.
- Mapeo de datos (de la aplicación y de bases de datos)
- Qué tiene que estar corriendo cuando arranque docker
Opciones
- Crear un contenedor
- Creamos un contenedor
docker run --name laravel -ti -v ./app:/var/www/html -p 8000-8050:8000-8050 ubuntu:latest
- Una vez que tenemos el contenedor, entramos en él e instalamos todo lo que necesitamos
docker start laravel docker exec -ti laravel bash apt-get update apt-get install -y apache2 php apt-get update 2 apt-get install apache2 php libapache2-mod-php 3 apt-get install php-zip php-xml php-mbstring 4 history 5 apt-get install mysql-server mysql-client 6 apt-get install phpmyadmin 7 service apache2 start 8 service mysql start 9 apt-get install phpmyadmin 10 curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&sudo apt-get install -y nodejs 11 apt-get install curl 12 curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&sudo apt-get install -y nodejs 13 curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&sudo apt-get install -y nodejs 14 curl -s https://getcomposer.org/installer | php 15 mv composer.phar /usr/local/bin/composer 16 mysql -u root 17 cd /etc/phpmyadmin/conf.d/ 18 ls 19 cd .. 20 ls 21 vim config-db.php 22 apt-get install vim 23 vim config-db.php 24 ls 25 cd .. 26 cd mysql/ 27 ls 28 cd conf.d/ 29 ls 30 vim mysql.cnf 31 vim mysqldump.cnf 32 cd .. 33 ls 34 vim my.cnf 35 cd mysql.conf.d/ 36 ls 37 vim mysqld.cnf 38 composer require laravel/installer 39 cd 40 cd .composer/ 41 ls 42 cd .. 43 ls -la 44 cd .composer/ 45 ls 46 cd cache/ 47 ls 48 cd / 49 find / laravel 50 apt-get install zip 51 composer global require laravel/installer 52 ls 53 cd 54 ls 55 cd .composer/ 56 ls 57 cd vendor/ 58 ls 59 cd laravel/ 60 ls 61 cd installer/ 62 ls 63 cd bin/ 64 ls 65 pwd 66 cd 67 vim .bashrc
- Crear un solo docker con todo esto instalado
- No es la mejor opción, mucho tiempo y poco optimizado
- Tendríamos un fichero dockerfile con todo lo necesario
- Vamos a hacerlo: