Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia Següent revisió Ambdós costats nova versio | ||
dockeritzacio_aplicacions_php [2022/07/13 11:06] jordi_selga_ruiz |
dockeritzacio_aplicacions_php [2022/07/13 16:54] jordi_selga_ruiz |
||
---|---|---|---|
Línia 6: | Línia 6: | ||
Per seguir bé aquest article cal tenir coneixements de [[docker|Docker pràctic]] i [[docker-compose|Docker Compose]] i s'ha de tenir instal·lat al sistema [[https:// | Per seguir bé aquest article cal tenir coneixements de [[docker|Docker pràctic]] i [[docker-compose|Docker Compose]] i s'ha de tenir instal·lat al sistema [[https:// | ||
+ | |||
+ | ===== Referències ===== | ||
+ | * Tutorial base d' | ||
+ | * Documentació de Docker - https:// | ||
+ | |||
===== Desplegament d’aplicació en php i mysql ===== | ===== Desplegament d’aplicació en php i mysql ===== | ||
Línia 64: | Línia 69: | ||
mysql-data: | mysql-data: | ||
</ | </ | ||
- | Pel que fa al servei de BBDD utilitzem la imatge mysql:8.0 del repositori oficial. Definim un volum amb la directiva // volumes // on enllacem el volum intern de la imatge // / | + | Pel que fa al servei de BBDD utilitzem la imatge mysql:8.0 del repositori oficial. Definim un volum amb la directiva // volumes // on enllacem el directori |
- | Finalment es defineix un volum intern de docker per assegurar la persistència | + | Finalment es defineix un volum intern de docker per assegurar la persistència |
==== Arrencada dels contenidors ==== | ==== Arrencada dels contenidors ==== | ||
+ | El primer cop hem d' | ||
< | < | ||
docker-compose up -d --build | docker-compose up -d --build | ||
</ | </ | ||
+ | Comprovem que els dos contenidors estan arrencats amb // docker ps //: | ||
+ | < | ||
+ | docker ps | ||
+ | CONTAINER ID | ||
+ | 33cdc1c58ecd | ||
+ | 7e2fbd45531d | ||
+ | </ | ||
+ | |||
+ | ==== Importar la base de dades ==== | ||
+ | Per importar una base de dades existent hem de copiar un fitxer sql que contingui l' | ||
+ | |||
+ | < | ||
+ | docker cp bank.sql mysql-server-80:/ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | docker exec -i mysql-server-80 mysql -u root -proot bank < bank.sql | ||
+ | </ | ||
+ | En el cas d' | ||
+ | |||
+ | < | ||
+ | mysql> select * from compte; | ||
+ | +----+--------+-------+--------+ | ||
+ | | id | codi | saldo | client | | ||
+ | +----+--------+-------+--------+ | ||
+ | | 1 | BK 100 | 15000 | 1 | | ||
+ | | 2 | BK 101 | 200 | 1 | | ||
+ | | 3 | BK 200 | 18000 | 2 | | ||
+ | +----+--------+-------+--------+ | ||
+ | 3 rows in set (0.00 sec) | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Comprovació de funcionament ==== | ||
+ | Ara podem entrar a l' | ||
+ | Es mostra el llistat dels comptes on s'ha afegit mitjançant l' | ||
+ | {{: | ||
+ | |||
+ | També podem comprovar que si aturem els contenidors i els tornem a arrencar les dades persisteixen gràcies a l'ús de volums. | ||
+ | < | ||
+ | docker-compose down | ||
+ | Stopping app_php | ||
+ | Stopping mysql-server-80 ... done | ||
+ | Removing app_php | ||
+ | Removing mysql-server-80 ... done | ||
+ | Removing network dockerphp_default | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | docker-compose up -d | ||
+ | Creating network " | ||
+ | Creating mysql-server-80 ... | ||
+ | Creating mysql-server-80 ... done | ||
+ | Creating app_php ... | ||
+ | Creating app_php ... done | ||
+ | |||
+ | </ | ||
+ | |||
+ | < | ||
+ | select * from compte; | ||
+ | +----+--------+--------+--------+ | ||
+ | | id | codi | saldo | client | | ||
+ | +----+--------+--------+--------+ | ||
+ | | 1 | BK 100 | 15000 | 1 | | ||
+ | | 2 | BK 101 | 200 | 1 | | ||
+ | | 3 | BK 200 | 18000 | 2 | | ||
+ | | 4 | BK 345 | 123456 | 2 | | ||
+ | +----+--------+--------+--------+ | ||
+ | 4 rows in set (0.00 sec) | ||
+ | |||
+ | </ | ||
+ | ==== REPTE 1 ==== | ||
+ | <WRAP center todo> | ||
+ | Fent servir el recurs penjat a: https:// | ||
+ | </ | ||
+ | ==== REPTE 2 ==== | ||
+ | <WRAP center todo> | ||
+ | Dockeritza una aplicació pròpia o bé alguna que trobis en algun repositori amb fent servir de guia els passos indicats. | ||
+ | </ | ||