Usuario:ManuelRomero/Laravel/docker laravel

De WikiEducator
Saltar a: navegación, buscar

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: