Diferencia entre revisiones de «Usuario:ManuelRomero/Laravel/docker laravel»

De WikiEducator
Saltar a: navegación, buscar
(Opciones)
 
(Una revisión intermedia por el mismo usuario no mostrado)
Línea 21: Línea 21:
 
docker exec -ti laravel bash
 
docker exec -ti laravel bash
 
apt-get update
 
apt-get update
apt-get intall -y apache2 php  
+
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>
 
</source>
  

Última revisión de 04:05 1 feb 2023

Crear un sistema docker

Identificando los servicios que necesitamos
  1. apache2 o ngynx
  2. php 8.2 con librerías (php-xml, php-zip, php-mbstring, php-mysql)
  3. Composer para la gestión de paquetes de php
  4. Laravel (instalador o creador de proyectos basados en el framework laravel)
  5. npm para la gestión de paquetes en la parte front (tailwind, p.e)
  6. mysql o mariabd como gestores de bases de datos
  7. 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: