lando · conoceremos los principales comandos para trabajar con lando . w ord c a m p e s pa ña |...

42
LA HERRAMIENTA DOCKER LA HERRAMIENTA DOCKER HUMAN FRIENDLY HUMAN FRIENDLY LANDO LANDO | "Trabajar en local, responsabilidad en el desarrollo web" WordCamp España #WCES 1.1

Upload: others

Post on 20-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

LA HERRAMIENTA DOCKERLA HERRAMIENTA DOCKERHUMAN FRIENDLYHUMAN FRIENDLY

LANDOLANDO

|

"Trabajar en local, responsabilidad enel desarrollo web"

WordCamp España #WCES

1 . 1

Page 2: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

¡HOLA Y BIENVENID@S!¡HOLA Y BIENVENID@S!

Mi nombre es José J. Peleato Pradel, nací en Huesca ysoy de un pequeño pueblo llamado Tardienta.

Apasionado del Pixel Perfect y Clean Code, me definocomo una persona adepta del conocimiento libre y

gratuito.

Trabajo en cómo Full-stack DeveloperPHP/JS.

by

Numéricco

jjpeleato.com

1 . 2

Page 3: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

DISCLAIMERDISCLAIMER

|

https://bit.ly/2XLkbqR

WordCamp España #WCES

2 . 1

Page 4: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

¿Quiero utilizar Docker? Sí¿Tengo que saber Docker para utilizar Lando? No

| WordCamp España #WCES

2 . 2

Page 5: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Vamos a aprender terminología sobre Docker y Lando,seremos capaces de definir ambas herramientas.

Veremos en directo cómo construir entornos detrabajo en local con Lando de una forma fácil, sencilla

y rápida.

Conoceremos los principales comandos para trabajarcon Lando.

| WordCamp España #WCES

2 . 3

Page 6: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Dispondremos de ejemplos para construir nuestrospropios ecosistemas de desarrollo, crearemos

entornos LAMP, LAMP + Node y LEMP, por último,ejecutaremos un entorno personalizado compuesto

por Apache, PHP, Node.js, MariaDB, Mailhog,PhpMyAdmin, Gulp, Yarn y Deployer.

| WordCamp España #WCES

2 . 4

Page 7: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

¿QUÉ ES XAMP?¿QUÉ ES XAMP? | WordCamp España #WCES

3 . 1

Page 8: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

XAMP es el acrónimo para describir el conjunto detecnologías necesarias para crear una infraestructura

de un servidor web. | WordCamp España #WCES

3 . 2

Page 9: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

X: Definición del sistema operativo. Puede ser Linux,Windows o Mac OS X.A: Servidor web Apache.M: Definición del gestor de bases de datos. Puedeser MySQL o MariaDB.P: Definición del lenguaje de programación. Puedeser PHP, Perl o Python.

| WordCamp España #WCES

3 . 3

Page 10: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

LAMPLAMPLinux Apache MySQL PHP

|

Más información

WordCamp España #WCES

3 . 4

Page 11: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

WAMPWAMPWindows Apache MySQL PHP

|

Más información

WordCamp España #WCES

3 . 5

Page 12: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

MAMPMAMPMacOS Apache MySQL PHP

|

Más información

WordCamp España #WCES

3 . 6

Page 13: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

APRENDE MÁSAPRENDE MÁS

|

Guía básica: Instalación entorno XAMP

WordCamp España #WCES

3 . 7

Page 14: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

¿QUÉ ES DOCKER?¿QUÉ ES DOCKER?

| |

|

Página oficial Documentación GitHub

WordCamp España #WCES

4 . 1

Page 15: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Docker es un término polisémico, nació cómo unconjunto de herramientas que facilitan la gestión decontenedores y evoluciono en una empresa que lidera

el proyecto Open Source, promoviendo solucionespara la comunidad o empresas.

Por ello, podemos hablar de Docker como empresa oDocker como proyecto de código abierto.

| WordCamp España #WCES

4 . 2

Page 16: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

El proyecto de código abierto Docker, permite laautomatización e implementación de aplicaciones a

través del uso de contenedores y que además, sepueden ejecutar en la nube o localmente.

| WordCamp España #WCES

4 . 3

Page 17: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Con Docker, puedes usar los contenedores comomáquinas virtuales extremadamente livianas y

modulares.

Proporcionando una capa adicional de abstracción através de la virtualización en múltiples sistemas

operativos (Windows, macOS y Linux). | WordCamp España #WCES

4 . 4

Page 18: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

El propósito de los contenedores es laindependencia, la capacidad de ejecutar varios

procesos y aplicaciones por separado, para poderhacer un mejor uso de su infraestructura, y al mismo

tiempo, conservar la seguridad que tendría consistemas separados. | WordCamp España #WCES

4 . 5

Page 19: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Se podría resumir, en una tecnología que nos permitecrear unidades independientes con un propósitoúnico (Apache, MySQL, PHP, etc) y que la suma de

todas ellas nos permite disponer de un sistema paraejecutar nuestras aplicaciones de so�ware.

| WordCamp España #WCES

4 . 6

Page 21: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

GLOSARIOGLOSARIO

|

Más información

WordCamp España #WCES

5 . 1

Page 22: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Término Descripción

Imagen decontenedor

Paquete con todas las dependencias e información necesaria para la creación de uncontenedor. Una vez que se crea una imagen, esta es inmutable.

Dockerfile Archivo de texto (script) que contiene instrucciones sobre cómo crear una imagen deDocker. Define por ejemplo las instrucciones para la instalación de so�ware necesario.

Compilación Acción de crear una imagen de contenedor basada en la información y el contexto queproporciona su Dockerfile.

| WordCamp España #WCES

5 . 2

Page 23: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Término Descripción

Contenedor Instancia de una imagen de Docker. Un contenedor represente la unidad de ejecuciónde una sola aplicación, proceso o servicio.

Volúmenes Sistema de archivos que el contenedor puede utilizar. Puesto que las imágenes son desolo lectura, pero la mayoría de los programas necesitan escribir en el sistema dearchivos, los volúmenes agregan la capa de escritura encima de la imagen delcontenedor, por lo que los programas tienen acceso al sistema de archivos.

Persistencia Gestionado a través de los volúmenes, consiste en la acción de la no perdida de datoscuando un contenedor es eliminado o reinstalado.

| WordCamp España #WCES

5 . 3

Page 24: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Término Descripción

Etiqueta Marca o etiqueta que se puede aplicar a las imágenes para que se puedan identificar.

Repositorio Colección de imágenes de Docker relacionadas, etiquetadas con una etiqueta queindica la versión de la imagen. Algunos repositorios contienen varias variantes de unaimagen específica, como una imagen que contiene SDK (más pesada), una imagen quesolo contiene runtimes (más ligera), etcétera. Estas variantes se pueden marcar conetiquetas. Un solo repositorio puede contener variantes de plataforma, como unaimagen de Linux y una imagen de Windows.

Registro Servicio que proporciona acceso a los repositorios. El registro predeterminado para lamayoría de las imágenes públicas es Docker Hub.

| WordCamp España #WCES

5 . 4

Page 25: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Término Descripción

DockerHub

Registro público para cargar imágenes y trabajar con ellas.

Compose Herramienta de línea de comandos y formato de archivo YAML con metadatos para definiry ejecutar aplicaciones de varios contenedores.

Clúster Colección de host de Docker que se expone como si fuera un solo host. De esta manera laaplicación se puede escalar a varias instancias de los servicios repartiros entre varioshosts. Los clústeres de Docker se pueden crear con Kubernetes, Azure Service Fabric, entreotros.

|

https://hub.docker.com/

WordCamp España #WCES

5 . 5

Page 26: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Término Descripción

Orquestador Herramienta que simplifica la administración de clústeres y host de Docker. Losorquestadores permiten administrar las imágenes, los contenedores y los hosts através de una CLI o interfaz gráfica.

Kitematic So�ware (instalación recomendada) de interfaz gráfica para la administración de loscontenedores de Docker.

|

https://kitematic.com/

WordCamp España #WCES

5 . 6

Page 27: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

¿TOD@S BIEN?¿TOD@S BIEN?

| WordCamp España #WCES

6 . 1

Page 28: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

¿QUÉ ES LANDO?¿QUÉ ES LANDO?

| |

|

Página oficial Documentación GitHub

WordCamp España #WCES

7 . 1

Page 29: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

|

«A Liberating Dev Tool For All YourProjects» – Lando.

«Lando es una herramienta quéhumaniza el trabajar en local con

Docker» - JJPeleato.WordCamp España #WCES

7 . 2

Page 30: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Una de sus principales características es simplificarenormemente el habilitar infraestructuras complejas

en local y permitir el centrarnos en el desarrollo deSo�ware y crear valor a nuestros clientes.

| WordCamp España #WCES

7 . 3

Page 31: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

VENTAJASVENTAJAS

FácilCompleta (casi sin límites)Respaldada por una gran comunidad en GitHubPortableConfiguraciones predeterminadasOverridesGratisOpen SourceEstandarización del flujo de trabajo en equipo

| WordCamp España #WCES

7 . 4

Page 32: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

¿POR QUÉ UTILIZAR LANDO?¿POR QUÉ UTILIZAR LANDO?

Lando es una herramienta para desarrolladores quequieren dejar atrás el masoquismo que supone usar

directamente docker o docker-compose. |

«Avoid the built-in-masochism ofdirectly using docker or docker-

compose» – Lando.

WordCamp España #WCES

7 . 5

Page 33: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

INSTALACIÓNINSTALACIÓN

Para poder utilizar Lando lo primero que debemoshacer es instalarlo en nuestro ordenador. El proceso de

instalación es muy sencillo y lo tienes muy bienexplicado en la documentación oficial.

| |

|

macOS Linux Windows

WordCamp España #WCES

7 . 6

Page 34: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Si estás en Linux, debes tener instalado . Si estás en Mac o Windows, el

propio instalador de Lando se encargará de instalarlo.Nota: Debes asegurarte de que tienes habilitado Hyper-V o Docker y Lando no funcionará.

Nota: No es compatible con versiones Windows 10 Home, mínimo Windows 10Professional.

|

DockerCommunity Edition

WordCamp España #WCES

7 . 7

Page 35: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

adecuado según nuestrosistema operativo. En el caso de Linux, descargar el

fichero lando-*.deb e instalar con dpkg -i. ParamacOS, usar el fichero .dmg y para Windows, el .exe.

|

Descargaremos el instalador

WordCamp España #WCES

7 . 8

Page 36: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

¿COMO FUNCIONA?¿COMO FUNCIONA?

Lando funciona a través de un fichero YAML(.lando.yml) situado en la raíz del proyecto

denominado Landofile.

Los archivos Landofile tienen la función de definir quétipo de sistema va a crear, con qué tecnologías,

servicios y herramientas. | WordCamp España #WCES

7 . 9

Page 37: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

RECIPESRECIPES

Las recipes son la abstracción de más alto nivel deLando, configuraciones predeterminadas de

servicios, herramientas y rutas.

Dicho de otra forma, puntos de partida con lasnecesidades básicas para proyectos de So�ware,

cómo por ejemplo: LAMP, LEMP, MEAN, WordPress,Drupal 8, Laravel, etc. | WordCamp España #WCES

7 . 10

Page 38: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

COMANDOSCOMANDOS

|

Más información

WordCamp España #WCES

8 . 1

Page 39: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Comando Descripción

lando version Muestra la versión de Lando.

lando init Inicializa el código a utilizar con Lando.

lando start Iniciar e instalar los contenedores Docker del proyecto.

lando info Imprime por consola información relevante del proyecto.

lando stop Detiene los contenedores Docker del proyecto.

lando poweroff Detiene todos los contenedores Docker del equipo.

lando rebuild Reconstruye su aplicación desde cero, conservando los datos.

lando destroy Destruye todos los contenedores del proyecto.

| WordCamp España #WCES

8 . 2

Page 40: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

Comando Descripción

lando logs Muestra registros del proyecto.

lando db-export[file]

Exporta la base de datos.

lando db-import[file]

Elimina la base de datos actual e importa un archivo a la base de datosprincipal.

lando ssh [name] Conexión por SSH al contenedor principal o al indicado por parámetro.

lando php Permite ejecutar comando php dentro del contenedor.

lando composer Ejecuta comandos de Composer dentro del contenedor definido en la recipe.

lando npm Ejecuta comandos NPM dentro del contenedor definido en la recipe.

| WordCamp España #WCES

8 . 3

Page 41: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

EJEMPLOSEJEMPLOS

|

https://bit.ly/2VS6m7N

WordCamp España #WCES

9 . 1

Page 42: LANDO · Conoceremos los principales comandos para trabajar con Lando . W ord C a m p E s pa ña | # WC E S 2 . 3. Dispondremos de ejemplos para construir nuestr os propios ecosistemas

¡FIN!¡FIN!

Simplemente, GRACIAS

| WordCamp España #WCES

10