 Gracias, Sergio, por tu presentación e gracias a... Vale, emperdamos bien. Puello. En esto. Era de medio? Sim. Vale, perfeito. Gracias, Nito, por tu presentación e gracias a todos os asistentes por venir a esta charla. E sobretodo, gracias a la organización por confiar en mí teniendo en cuenta los precedentes de que suelo llegar las ponencias, rasecoso e sin mar preparado las diapositivas correctamente, como ha ocurrido esta vez. E eso será evidente en cuanto avancemos un pouco con a presentación. Pero, aparte de eso, me prenda a la oportunidad de contar lo que hemos aprendido nos últimos años sobre Docker, porque aunque a presentación le haya preparado casi rasecoso, es cierto que llevamos dos años casi pegándonos con contenedores, con Kubernetes, con Docker Compose e con todo o que tiene que ver con el mundo de la contenedorización. Se queréis, me presento antes. Como ha dicho Sergio, mi nombre es Manuel Doménec. Ahora mismo, trabajo en NECOMPRO, unha empresa que funde con mi socio que está por aquí sentado. Anteriormente funde junto con Sergio y otros dos compañeros, outra empresa, en 2007. E anteriormente funde outra empresa, donde damos siete personas. Éramos siete en la primera, cuatro en la segunda, dos en la tercera. Es como se la gente va huyendo de mí. Ahora, a lo mejor, descubríis por qué. Aquí, en el título de la presentación, que de hecho está mal, me sobra una preposición. WordPress sobre contenedores en Docker. El título era WordPress sobre contenedores Docker. Pero, bueno, unha palabra más de la que preocuparse. Y aquí tenemos tres palabras importantes. WordPress, contenedores y Docker. WordPress, si estamos en una Workamp, todos sabremos más o menos de que estamos hablando. WordPress es un cms de código abierto, que ahora mismo permite hacer cualquier protocolo de cualquier aplicación. Aunque empezase siendo un sistema de blogging, ahora permite hacer cualquier tipo de cosa. Lo descartamos ahora mismo porque todos aquí lo conocemos. El problema viene con... ¿Me están pirando? Los conceptos de contenedores y Docker. Son conceptos bastante difusos, que no todo el mundo tiene claros. E vamos empezar a analizarlos uno por uno. Que es Docker? Las definiciones, me gusta ser preciso con ellas. E se buscan na Wikipedia, por ejemplo, en español, habla de que Docker es un proyecto de open source. Pero también es una palabra de seis letras. No representa lo que es funcionalmente Docker. Es una utilidad. Esa utilidad que consiste al final en un demónio del sistema e en una herramienta en línea de comandos. Que permite ejecutar contenedores. Pero eso para persoas no técnicas, incluso para persoas técnicas, no dice nada porque que son contenedores. Contenedores es un concepto ya bastante difuso e marciano como para pasar de puntillas sobre él. Así que vamos a profundizar en qué son contenedores. Esto tampo que atrela mucho la situación. Los contenedores son un mecanismo ligero de virtualización para la ejecución aislada de procesos dentro do mismo host. A nadie le dice nada. Estos son palabras moi marcianas. La palabra clave aquí es ligero. Ahora veremos históricamente como hemos llegado de la forma de gestionar os sistemas hace 10 años al mundo dos contenedores actual. Ligero es la palabra clave porque antiguamente la virtualización era a nivel de kernel de sistema. Unha máquina virtual era unha máquina entera, unha máquina pesada con todos os procesos e un kernel. Con Docker conseguimos que eso sea ligero e que a sobrecarga que se ofrece al virtualizar sea mínima. Es posible virtualizar a aislar procesos como Apache, como onjines, como iSQL, procesos que participan en la ejecución de una aplicación basada en psh.pxsql como es WordPress o caso también de Magento o muchas otras en eCompro. Antes dos contenedores, o mundo era distinto. Esto se basa en la experiencia personal. Quando empezamos en allá por 2007, quando conocimos WordPress de la mano de Fernando Serer que anda por aquí también, lo que teníamos para alojar las páginas, los sitios, era un servidor propio en régimen de housing. Era un ordenador, un trasto, en un cpd de alguien que tratábamos como lo mimábamos, era un servidor ente apropia. E, además, los procesos en ese servidor teníamos a lo mojo 20 clientes. Los 20 clientes se servían con o mismo proceso pshp e con unas mismas base datos Magsql, con un montón de base datos distintas en él. ¿Esto que pasa? Que aquí no hay ningún tipo de seguridad ni aislamiento. En el momento en que entró algún tipo de malware, estuvimos con 20 tiendas ofreciendo medicación para la disfunción erectil de todos os clientes. E eso no lexito ninguna gracia. E, al final, limpiar eso, supuso también era unha sensación como la de meter la mano en un cubo destiércol, sacudirlo e sacarlo. Era un outro tiempo distinto. Después de eso, pasamos ya a un nivel superior de optimización, según el cual separamos la ejecución de cada proyecto en su usuario con subpremisos correctamente establecidos e isto, lo que permite, es que, se entró na infección, se entró a algún plugin a ofrece una puerta de entrada, algún tipo de malware, a infección se acota e afecta únicamente ao proyecto que toca. Con lo cual, uno de todos, a mojra acababa vendendo Viagra. Pero sí que se entere unha islamiento adecuada, porque se comparte ficheros en cuanto a lectura, los procesos poden leer de todos os demas, menos juntas. Llegamos a tecnologías, esto a mojora ya por 2012, 2013 empezamos con tecnologías de virtualización de máquinas que ya eran algo má serio. E era a sensación de tener una máquina distinta, tener un trasto hardware entero, pero poder crear sobre ele máquinas virtuales distintas, mucha máquina virtuales. Pero aún así teníamos a sensación de tener máquinas virtuales o no, pero máquinas. Tenia entidad por máquinas xipe pública, xipe privada e máquinas que había que cuidar e mantener. Después llegó la moda del Cloud Computing que no es má que unha capa por encima da tecnologia anterior que hacía máis fácil la gestión de máquinas. Era casi bajo demanda, casi como un servicio. De forma que con unos pocos clicks se podia crear unha máquina distinta. E o último, antes de empezar con contenedores, son las infraestructuras como servicio, e AAS. Lo popularizo Amazon con seu Amazon EC2, pero ya tamestan Digital Osen, Google Computing Engine e muchos outros, muchos jugadores máis pequeños. Esto antes de los contenedores. E aquí está la analogía. Se os fijáis antes de tener una máquina propia en un régimen de housing, una máquina que cuidamos, al último paso en el que con un click levantamos unha máquina, unha máquina virtual, es como se las máquinas pierdan entidad, pierdan personalidad. Antes había que preguarse de ella, e agora es muy fácil destruirlas e crearlas. Empezamos ya, e aquí una analogía que viene de Kubernetes, es tratada as servidores como ganado. Antes eran más cotas, máquinas que cuidábamos, ahora son ganado, ahora unha máquina sinón nos interesa, se cepilla, que tiene unha carga muy alta fuera. Real que sean cosas muy volátiles, las máquinas. E en este panorama es cuando llegamos ya ya podamos definir mejor los contenedores. La primera parte de la cinesión, la hemos visto antes e lo que hay que tener en cuenta es que se basan todos os sistemas de contenedorización en una característica del kernel de Linux que es Cegroves. Cegroves es una característica que permite limitar, medir e aislar o uso de recursos de un conjunto de procesos. Ao final viene a ser como poder crear pequeñas máquinas Linux dentro de un mismo ordenador. Pero ao ser tan goloso, tan interesante esto en cuanto a la posibilidad de crear máquinas e procesos exagelados muchos jugadores organismos, empresas privadas aficionados, profesionales empezaron a crear seus próprios sistemas de gestión de seus contenedores para hacerlos fáciles e acesibles al público. Eso acabó siendo un caos. E de toda esa casi amalgama de siglas los que salieron victoriosos fueron docker e lxc está disponible es una herramienta para gestionar contenedores en Linux docker a principio usaba lxc e utiliza container de esto nos sirve para nada para lo que vamos a ver a continuación es simplemente para prevenir que puede convertirse en una trampa el empezar a leer ahora sobre docker información sobre docker porque muchas de la información que hay publicada en internet es confusa, muy confusa ni culpa del que le, es que está mal está toda confusa porque ha habido, si le es en la página de docker o en la Wikipedia hay información contra victoria eso es debido a que en algún momento docker cambió la tecnología subyacente e no se han actualizado las páginas toda esta plavería casi sobra nos tenemos que quedar con que docker utiliza de base container D que es un demonio del sistema RUNCE que es el ejecutor final de los contenedores tampoco nos interesa ya digo que esto es únicamente a efectos de que se alguien busca información o no quiere profundizar que no se como a la cabeza pensando que es culpa suya que sepa que es un mundo muy muy difuso e muy complejo de momento hasta que empiece a toda estabilizarse importante un imágenes de docker lo que ha hecho popular a docker es la posibilidad de, en un momento levantar un imágenes de un proceso que es un imágenes de un proceso es una foto de un contenedor quando hablo de procesos o de imágenes hablamos de cosas como mysql como apache como gynex como phpfm cualquier cosa que se ocuera que se ejecuta en un ordenador es susceptible de estar isolada en un contenedor es inmutable si se ejecuta un contenedor partindo de una imagen esa imagen es inmutable lo que dota al contenedor de predictibilidad se funciona bien en un sitio va a funcionar bien en otro ese imagen no cambia, no se pode modificar las imágenes vienen identificadas por una firma, un código hash e por un nombre de un repositorio e una etiqueta por exemplo, nosotras tenemos imágenes publicadas precisamente para servir aplicaciones basadas y mysql imagento temos imágenes publicadas con el repositorio que compro e compro, barra, php e con sus etiquetas son imágenes aparte bastante buenas que ahora las veremos permiten a hacer muchas cosas se poden construir metiante un fichero llamado dockerfile esto puede tener un sentido depende de como queremos trabajar en el mundo de Kubernetes por ejemplo es habitual que la propia imagen del contenedor lleve incluido ya el software que va a ejecutar en este caso un web es por ejemplo entero todo el código, los plugins e os temas a un contenedor inmutable para desplegarlo en un servidor de producción pero para un entorno de desarrollo o en nuestro caso en entornos de producción no lo hacemos así nuestras imágenes son genéricas e públicas e lo que hacemos es inyectarles el código que se tiene que ejecutar e veremos un ejemplo en un momento una de las maiores fuerzas de la naturaleza es la pereza se no hubiese la posibilidad de crear imágenes rápidamente con un repositorio de imágenes enorme docker no habría triunfado tanto un sistema que permite aislar procesos no es tan poco, hay muchos porque triunfo docker porque sí que consiguió crear un repositorio enorme de imágenes útiles para mucha gente pero no parte a hacerlo abierto para que cualquiera pueda publicar imágenes en este repositorio e isso se llama docker hub se quer entran docker hub se encontrará que aí aparecen docker hub son algo a lo que seria o registre o pack-gist de PHP o registre npm de node o boxes para va grande e alguno de datos sobre docker hub es que tiene 2.700 2.700 mil imágenes lo que se vê na derecha bueno, tiene tantas porque é verdade que cualquiera puede subir basura hay mucha basura aí pero tiene un sistema de reputación se pode ver quantas descargas tiene que ir de imágenes hay un sistema de estrellas e reputación de forma que quando buscamos un imágenes pongamos un servidor ftp podemos ir a docker hub buscar ftp sftp e por tenerlo por descargas o por estrellas o por valoración de forma que sempre es bastante útil e fácil encontrar o imágenes con reputación que después estén bieno mal é un tema de reputación las que na coluna de la derecha son as imágenes que utilizamos nosotros para servir aplicaciones en WordPress e en magento incluso é xo lo digo porque se ha de hecho estácharla bien casi a raíz de que buscando información quando se busque información en Google sobre como utilizar docker para servir un magento é sempre información demasiado básica e de hecho, o que vamos a ver aquí tan pouco va a ser de muy alto nivel pero sí que pretendo llegar a mojarme a servir un stack completo que se é igual en desarrollo que en producción mismo stack con ftps seguro con generación de claves automática algo que se pode utilizar de verdad e que no nos llevamos sustos a llevarnos un sistema a producción docker final é xo un comando xo un comando que se pode ejecutar en una máquina linux docker de forma nativa funciona sobre linux é verdade que é implementaciones de docker para mac e para windows pero de forma subyacente é un sistema, é una emulación virtualización de un kernel de linux é a forma de ejecutar o docker má rapida é xo en linux em windows han conseguido un rendimiento brutal e en mac tiene un problema con sistemas de ficheros grandes por exemplo, ejecutar magento en docker en mac é xo un aputada sin embargo, um WordPress funciona bastante bien é xo que vamos a ver ahora se pode utilizar tanto en windows como en mac como en linux un ejemplo é xo el acercamento docker tamén por mi parte foi hace a lo mojor 3 años en un meet up en el que veía a un tipo ejecutando comandos en a consola non entendía muy bien de que iba o tema hace un par de años ya cuando empezamos con é esta a fundar la nueva empresa que tengo con mi socio empecé a interesarme por docker é a típica cosa que se acerca a unha con desconfianza como un gato al final e poca a pouco se le dá un golpecito se juega con ella, se huele e ao final descubres que no puedes vivir sin éxito non es que no puedas vivir, pero eu ahora mismo non consigo o hecho de tener un servidor un servidor privado, un servidor virtual sin docker não me gusta estar ceñido ao sistema de paquetes de un servidor virtual 107, 107, débian me dé igual, non quieres saber nada de versiones realmente que version de que servicio utilizar e isto me parece que é un cambio radical de mentalidad incluso para un cliente nos pide un acceso ftp a un servidor del que non sabemos nada e tiene docker instalado con un solo comando como o que vemos aquí detrás esto levanta un servicio ftp monta un directorio de la máquina e o ofrece por o puerto 2222 con ésa clave vamos a ver un serie de ejemplos rápidos non quero encenderle en código para ver o que xe que tiene docker para ejecutar servicios e aqui non hemos tocado nada non hemos hecho apt get non hemos utilizado jume tiene pega casi de que le cogido manía a ese tipo de se non quere saber nada de apt ni nada de jume o que quiera es una máquina linus únicamente con docker e a partir de ahí montar o que eu quiera o mismo non xe evidente porque estar a publicar las diapositivas por se alguien quere copiar e pegar o servicio ftp sobre una serie de directoris na máquina sin máx trabajo que é outro ejemplo é habitual que algum cliente nos envie una base de datos en ese ql e afinal acabamos sempre con una base de datos local la que nos ofrece el primer sistema llena de bases de datos pues prueba 1, prueba 7, cliente 1, 2 se nos va llenando de basura la base de datos para una base de datos o un servicio efímero é perfeito levantar una instancia con a primera línea se levanta una instancia de maria de ve en este caso a versión que queramos se puñe a dictar un fichero e se ql se pudo volcar, se pudo borrar cosas operar sobre la base de datos e quando salgamos desaparece é una forma perfecta de llenar de basura una ordenador também aunque llenar de basura é un término muy relativo hablando informática pero sempre te queda la duda de que se habrá dejado quando instalas cosas e las quitas en tu propio sistema e sobre todo el poder utilizar la versión que queramos é o que máis visto antes aquí detrás é un ejemplo de uso de un contenedor docker de una imagen oficial se o fijáis não sei se é puesta aquí não é puesta nada docker ran una serie de parámetros e o ultimo que parece é o nombre de la imagen o nombre de la imagen sempre é un repositorio e una etiqueta en este caso é maria de ve é uma versión quando não há uma barra significa que é una versão oficial docker sabe que maria de ve é um motor conhecido e decide ofrecer versões oficiales é una de alguien de qualquer tio que tenha subido una coisa ao repositorio sin embargo as imagenes oficiales de docker de php são muy espartanas vienen sin ningún tipo de modelo instalado e un é sobre obligado a llenarlas a compilar os módulos e fazerle todas as operaciones para poder servir una aplicación web e o que hemos hecho nós é querer na serie de imagenes de propias de php tanto versiones de cliente para poder ejecutar en lina de comandos como fpm porque desde hace años e isso também foi por influencia de fernando serer desde 2007 é como se viramos de esterrada apache e nos pasamos a enginx e usamos vale é isso eu gostei de transmitir o bonito que é isso se o pegueis em qualquer ordenador con docker é isso vai permitir ter una consola bastante potente com o zsh e comandos preinstalados o comando vwp clip preinstalado de forma que com um comando preinstalado, podeis instalar um WordPress pero aún va más allá desto, vamos a hacer un pausa para ver que hace falta para servir una aplicación como WordPress e ahora retomaremos exaltamente onde lo dejamos porque sempre na imagen oficial que tenemos de docker perdón de WordPress en docker hai dos capas hai un servicio llamado WordPress que nós sabemos que incluye, suponemos que é o código fuente de WordPress um servidor web e o outro que hai una base de datos vale, é isso ao final e a configuración de ese servicio se hace usando claves estándar de MySQL, son password WordPress con o qual tenemos una capa não hai ningún tipo de nome de dominio as claves se ponen a pelo é algo bastante desastrado vamos a ver como servimos nós una aplicación WordPress una imagen do tamén son idénticas não me cabe en bonito esto aqui tenemos una estrutura de cinco capas, así como a maior parte de as veces sempre se habla de Apache, PHP, MySQL aqui metemos algunas capas más o primeiro é sempre separar o terminador SSL do servicio web e además meter en medio una cache web como varmys o outro é usámos ou não o que temos sempre é una capa arriba del todo com HAPROXY que é un balanciador de carga o que permite, se debajo de HAPROXY temos depois má servidores web poder repartir la carga entre varios usamos HAPROXY e sempre se habla de Jynx ou Apache pero no mundo dos contenedores actual hay una gran variedad de servidores web que é o novo balanciador de carga está Envoy, está Traefic está FabioLV é Xeniprow e o utilizamos en desarrollo pero é como se estamos demasiado arraigados em cosa del pasado, quando hay tecnologías muy interesantes de futuro ahora estamos probando Envoy que en cuanto a rendimiento e en cuanto a posibilidades desborda a cualquiera de os outros servidores debajo disso sempre teremos una capa varmys web cache, muy potente se pone en medio de una petición web vex se la tiene cacheada e se la tiene la sirve e se non la pide a capa inferior pero é muy rápido e é o problema que tens que non soporta TLS, non soporta para HTTPS pero se hay que depender de la capa superior en este caso de la de ingreso con un HAPROXY e un Jynx que dote a la conexión de servicio HTTPS se le llama do ingreso por analogía con Kubernetes en el mundo de Kubernetes que no hay nada en la ciencia positiva pero se al final hay tiempo podamos comentar porque nos somos rotos los cuernas con Kubernetes e cualquier puerto abierto al exterior se llama un ingreso é un control de ingreso então se envete a llamarle puerto web e entrada é o control de ingreso una petición entra por el control de ingreso e chega a la capa máis conocida o servidor web os máis conocidos son en Jynx o Apache nós sempre instalamos en Jynx pero hay outros máis e esta capa de servidor web acaba pedindo a información ao servidor de aplicaciones que solemos utilizar sempre PHP, FPM é o que nos utiliza a Apache e ao final PHP cliente o que nos utiliza sempre é o mesmo e é HAPROXY, BAPMIS, Jynx PHP, FPM se poden al ser un mundo de contenedores é muy fácil cambiar de un ao outro pero o que vamos a analizar é este e ao final PHP, FPM temos a base de datos o servidor de base de datos mi agua la veis por aí perdón buena para darse a cá estamos de acuerdo con estas capas, las identificamos porque ao final están ausentes sempre que se vea algun tipo de documentación o de ejemplo de probar un WordPress, levantar un WordPress rapidamente con Docker o incluso con Vagrant no se acincapie en todas las capas e ahora veremos que un ejemplo práctico a lo que vamos a llevarmos a producción de hecho é casi idéntico a forma aqui tengo que comentar algo hemos visto como levantar servicios con Docker se iremos que levantar tantas capas como os mo visto habré que ejecutar comandos Docker 7, 6 tantos como servicios deseemos para esta os orquestadores de contenedores o máis sencillo e espartano é Docker Compose se base en un fichero Jamel en el que se definen uno a uno los diferentes contenedores que van a formar a aplicación, una versión con esteroides de Docker Compose é ya Kubernetes era moi popular hace tiempo, hace un par de años Docker Swarm, que era una forma de utilizar Docker en un entorno multihost que eso já desguardo un pouco o propósito de esta charla pero tamí nos hemos roto os quernos como usar Docker en entorno multihost para escalar de verdad, escalar en serio dentro de una misma máquina un ejemplo de fichero de Docker Compose este é o fichero oficial de Docker para servir WordPress no hace falta fijarse en esto pero a forma que tienes esta é un fichero Jamel en que lo que estamos intentando a la izquierda, é o nombre del servicio neste caso, DB e WordPress, hai dos servicios únicamente uno es la imagen de MySQL e el outro es WordPress termos que creernos termos que intuir lo que hai dentro de esto pero se aqui hacemos, levantamos estes contenedores con Docker Compose e seguindo el tutorial que nos ofrecen en esta página, la página oficial de Docker o que teremos é un acceso en localhost http 2.barabarra localhost 8080 e veremos un WordPress pero veremos un WordPress con ya hai unha sensación de suciedad quando se ven aquí cosas como o que está en este fichero, son WordPress non me gusta o concepto de tener que escribir claves que va a utilizar una máquina porque tenemos que pensar nosotras unha clave que va a utilizar después a interesa PHP e a MySQL a nosotras non nos sientes aparnada non queremos ni verla e é xo es algo que me pona em un nervioso de hecho, tenemos unhas ciertas ao hora de definir nuestro stack tenemos unhas cosas moi claras, unhas premisas que son estas a ver unha estructura idéntica en desarrollo e producción e xo nos ayuda después a habitar posibles errores xo en producción teremos unha capa Https por que non lo temos en desarrollo por que nos conformamos con servir los sitios web con localhost 8080 que pasa quando tienes outro por nosotro porto distinto te inventas IPs e também leides que cualquiera pueda utilizar esto outro en la oficina, outro persona en la oficina alguien que le un tutorial que halla escrito tú por iso isto va do mano do ingreso Https e incluso en el entorno de desarrollo queremos que se poda acceder con Https con unha autoridad de certificación propia claves seguras generadas automáticamente o hecho de insisto o hecho de tú escribir unha clave inventarte unha clave por unha compleja que sea sigue siendo trabajar tú para la maquina e no al revés no tiene ningún sentido é como ser un esclavo de la maquina unha clave se la pase a mysql e no quilo ni verla e sobre todo evitar modificar en el entorno de desarrollo en nuestra maquina local ya sea windows mac o orinux el dns, el adns hay muchos sistemas ahora ballet, cualquier xamp que juegan mucho con esto se ponen por encima del dns que lleve la maquina por defecto capturan las peticiones o punto de, lo redirija un tipo de ip interna de desarrollo quando ya hay dominios reservados de forma oficial para uso privado, éstos son localhost test, example e invalid e por defecto, localhost sempre resuelve al host local al ip de lookback cualquier dominio que pongamos con punto localhost va resolver al ip 127.001 ésto tiene la capacidad particularidad de que podemos tener un montón de proyectos cada uno en su dominio servido con https e sin tocar nada meterlos en empastres dns locales queremos evitar urreles como ésto porque ésto, que significa que pasa si vas a trabajar en nuestro proyecto hay una colisión ahí e no sabes dónde estás metido e queremos utilizar dominios como myblog.localhost ya sea con su dominio ésto unha relatora que tenemos es no pensar ni ver claves, me pone muy nervioso éso para eso tenemos un pequeno contenedor que o que haces generar claves en un un método que es the get or set, es un dame la clave e se no la tienes te inventas e me la das yo no quiero decir de ninguna clave e dan complejas como sean el ingreso de htps en la versión de desarrollo el previo stack que veremos é muy sencillo ahora cuando lo veamos unha autoridad de certificación e cualquier proyecto que levantemos le inyectará a la capa de ingreso un certificado firmado con esa autoridad de certificación con o cual estemos viendo unha url, myblog.localhost segura igual que en producción solamente que en producción las claves serán distintas perdona, el certificado será distinto un certificado válido e seguro en producción utilizamos un contenedor ser bot, nos da igual en muchas herramientas para conseguir certificados desde lexengrypt en nuestro caso utilizamos acme pero el stack va ser exactamente igual en producción que en desarrollo aqui es donde está ya la gracia que si é esto pues unha demo se podria ejecutar pero aquí tenemos un ejemplo de efectivamente lanzar un servicio un WordPress auto instalado en... vale sin necesidad de con todas las características que máis visto que tiene ésto copiando e pegando ésto soy muy fantamén de copiar e pegar não me gusta tener que estar editando ficheros ésto tal cual se copia e se pega va a levantar un WordPress lo va a levantar seguro pero no se va a poder ver todavía por unha cosa que va a continuación va a crear unha estructura de directorios en la que trabajar con el resto dos proyectos se hace unha sola vez un representario propio onde está unha estructura de contenedores aráloga a la que máis visto antes oficial de docker pero que incluye ya no la tengo aqui podeis verla pulsando el link unha estructura de cinco campas exacto e ao copir e pegar sí que habría que modificar aqui os paramétros que queramos o nombre del dominio o nombre é o nombre que va a tener o blog de WordPress e incluso tenemos configurado o contenedor PHP para que reciba paramétros de envíe de mail nos olvidamos entonces de utilizar plugins de envíe de correo de SMTP porque podamos incluir ya directamente aqui se aqui se le pone nos paramétros de configuración de un SMTP externo el propio nada máis arrancar el contenedor ya está preparado para que con el comando por defecto de envíe de WordPress los mails salgam por ese servidor e incluso las claves de administración e e o nombre de usuario se poden reescribir por defecto son los que aparecen aí ejecutando esto e enter va levantar cinco contenedores va levantar un HAPROXY un 7 HAPROXY en Jainx e incluso mail hog que es un servidor de mail un cliente de mail de desarrollo mail hog es para poder estar jugando con mails sin tener que enviar solos aqui en real eso sí a primera vez que esto se ejecuta despues de hacer esto que hemos visto en este directorio va haver un certificado de servidor que tenemos que instalar en nuestro navegador para que el navegador confie en las QRLs que está servindo en nuestro stack unha vez hecho esto já tendremos un WordPress de verá bien servido igual que en producción esto no me queda dos minutos no mo dar tiempo pero esto es moi habitual muchas quejas de si uso docker o si uso vagran o si uso un tipo de virtualización los puertos se ocupan não pode estar serviendo en el mesmo puerto dos aplicatores distintas un proxy por delante de todo SNI SNI es un server name indication que lo que haces es traer de una petición o nombre de host e en función de ese nombre de host enviar la petición a donde corresponda hay un ejemplo aqui de como usarlo para varias proyectos en nuestro caso tenemos en desarrollo nos 17 na final son 17 líneas se demapea el nombre del dominio e a que nombre del proyecto va todo el sistema de acceso a los páginas de desarrollo en un interno local con una creación segura vale e exato isto é a forma de lançarlo vale isto ya está entonces el creo que non me he dejado nada aqui vale hasta aquí entonces el si alguien tiene alguna pregunta es el momento ahora vale pues eso nada nos da tiempo a preguntos pero la verdad es que las charla bueno pues eso hemos agotado el tiempo que teníamos para la charla con lo cual manel va estar todo el dia por aqui logo se vendrá la fiesta tamén verdad las 8 de la tarde pero venga entonces ahora dejamos los 5 minutitos para cambio de sala quien se quiera cambiar e logo vemos la aponencia de Mauricio un fuerte aplauso para manel por favor