Docker y Kubernetes por partida doble. Sábado 19 con dos charlas sobre Docker y Kubernetes impartidas por Adrián García Casas y Javier Provecho respectivamente en la Agencia de Innovación de Valladolid
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)Adrian Garcia Casas
Slides de como orquestas despliegues con Docker Swarm y Rancher. Ejemplo sencillos de cómo hacerlo y disponer de persistencia de datos en los casos que nos interese.
Docker: la revolución en virtualizaciónMarcelo Ochoa
Durante el último año la evolución de proyectos como LXC concluyo en el mundialmente reconocido proyecto Docker, un sistema de virtualización open source ultra delgado que permite optimizar por medio de la automatización vía scripts la provisión de ambientes para desarrollo, test y producción.
Entre las principales ventajas de este ambiente de virtualización podemos encontrar:
– Nativo en Linux, sin requerimientos de virtualización hardware, cero impacto en la performance
– Definición/Creación del entorno vía scripts
– Ultra liviano, se pueden correr hasta 2048 maquinas virtuales con un servidor Web en un simple micro-computador Raspberry PI
– Disponible en otras plataformas como Windows/Solaris
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)Adrian Garcia Casas
Slides de como orquestas despliegues con Docker Swarm y Rancher. Ejemplo sencillos de cómo hacerlo y disponer de persistencia de datos en los casos que nos interese.
Docker: la revolución en virtualizaciónMarcelo Ochoa
Durante el último año la evolución de proyectos como LXC concluyo en el mundialmente reconocido proyecto Docker, un sistema de virtualización open source ultra delgado que permite optimizar por medio de la automatización vía scripts la provisión de ambientes para desarrollo, test y producción.
Entre las principales ventajas de este ambiente de virtualización podemos encontrar:
– Nativo en Linux, sin requerimientos de virtualización hardware, cero impacto en la performance
– Definición/Creación del entorno vía scripts
– Ultra liviano, se pueden correr hasta 2048 maquinas virtuales con un servidor Web en un simple micro-computador Raspberry PI
– Disponible en otras plataformas como Windows/Solaris
Casi todos los desarrolladores, han oído hablar de Docker en mayor o menor medida,pero no tantos han podido ponerlo en práctica.
Hacemos un repaso de los conceptos principales relacionados con docker, aplicando los casos de uso típicos con contenedores, siempre desde la perspectiva del programador.
* Docker como herramienta de ayuda a la programación
* Docker como sistema de empaquetado de nuestras apps.
* Docker como entorno de despliegue (docker-compose).
Workshop de introducción a docker, desde lo más básico hasta un dockerfile de producción no muy sofisticado.
Incluye link a un repositorio para seguir un ejercicio a lo largo de la presentación
Entornos de desarrollo para symfony2 con vagrant y puppetVicent Soria Durá
Si hay algo tedioso, y repetitivo, al empezar un proyecto con Symfony 2, es preparar el entorno. En los equipos de desarrollo a veces nos encontramos con problemas con los sistemas operativos, y las versiones de las librerías que cada uno tiene instaladas en su máquina, además de lo pesado que es preparar todo lo necesario en una nueva máquina, por ejemplo, para el nuevo desarrollador que entra en el equipo.
Gracias a Vagrant y Puppet, podemos preparar una configuración común para nuestros proyectos replicable en todos los ordenadores de nuestro equipo de desarrollo, ¡¡incluso en los servidores de pre-producción y producción!! Cada desarrollador puede trabajar en su sistema operativo favorito, con su IDE favorito, y Vagrant hará el resto.
En la primera parte de la charla, haremos una introducción a la problemática de los entornos de desarrollo con Symfony 2, comentando cuales son los pasos para preparar nuestro entorno antes de poder instalar y empezar a trabajar con el framework. También hablaremos del problema con el que a veces nos encontramos al subir código a nuestro servidor, y encontrarnos con que no funciona: ¡¡Pero si en mi máquina va perfecto!!
En la última parte, veremos un caso práctico de como configurar Vagrant con Puppet para tener un entorno completo para Symfony en nuestros equipos de desarrollo.
Docker es una plataforma abierta para construir, transportar y ejecutar aplicaciones distribuidas.
El objetivo de esta charla es dar a conocer la plataforma, su arquitectura y componentes. Para ello se parte del problema que trata de resolver y sus ventajas e inconvenientes con otras soluciones existentes.
Casi todos los desarrolladores, han oído hablar de Docker en mayor o menor medida,pero no tantos han podido ponerlo en práctica.
Hacemos un repaso de los conceptos principales relacionados con docker, aplicando los casos de uso típicos con contenedores, siempre desde la perspectiva del programador.
* Docker como herramienta de ayuda a la programación
* Docker como sistema de empaquetado de nuestras apps.
* Docker como entorno de despliegue (docker-compose).
Workshop de introducción a docker, desde lo más básico hasta un dockerfile de producción no muy sofisticado.
Incluye link a un repositorio para seguir un ejercicio a lo largo de la presentación
Entornos de desarrollo para symfony2 con vagrant y puppetVicent Soria Durá
Si hay algo tedioso, y repetitivo, al empezar un proyecto con Symfony 2, es preparar el entorno. En los equipos de desarrollo a veces nos encontramos con problemas con los sistemas operativos, y las versiones de las librerías que cada uno tiene instaladas en su máquina, además de lo pesado que es preparar todo lo necesario en una nueva máquina, por ejemplo, para el nuevo desarrollador que entra en el equipo.
Gracias a Vagrant y Puppet, podemos preparar una configuración común para nuestros proyectos replicable en todos los ordenadores de nuestro equipo de desarrollo, ¡¡incluso en los servidores de pre-producción y producción!! Cada desarrollador puede trabajar en su sistema operativo favorito, con su IDE favorito, y Vagrant hará el resto.
En la primera parte de la charla, haremos una introducción a la problemática de los entornos de desarrollo con Symfony 2, comentando cuales son los pasos para preparar nuestro entorno antes de poder instalar y empezar a trabajar con el framework. También hablaremos del problema con el que a veces nos encontramos al subir código a nuestro servidor, y encontrarnos con que no funciona: ¡¡Pero si en mi máquina va perfecto!!
En la última parte, veremos un caso práctico de como configurar Vagrant con Puppet para tener un entorno completo para Symfony en nuestros equipos de desarrollo.
Docker es una plataforma abierta para construir, transportar y ejecutar aplicaciones distribuidas.
El objetivo de esta charla es dar a conocer la plataforma, su arquitectura y componentes. Para ello se parte del problema que trata de resolver y sus ventajas e inconvenientes con otras soluciones existentes.
"Introducción a Docker".
Global Mentor Day UPM. Noviembre 2016.
Ángel Barrera, Ingeniero de Software en BEEVA.
Encuéntranos en www.beeva.com y labs.beeva.com
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaipquaip
Presentación de Sergio Gómez sobre la instalación de contenedores Docker de WordPress, Nginx como proxy inverso, Ghost y Telegram (Webogram), dentro del programa del I Meetup Docker Córdoba, celebrado en coSfera el 05/06/2014
Docker is an open platform that enables developers and administrators to build images, ship, and run distributed applications in a loosely isolated environment called a container. This approach enables efficient application lifecycle management between development, QA, and production environments.
En este Meetup nos metemos en harina haciendo un repaso de los conceptos principales relacionados con docker y aplicando los casos de uso típicos con contenedores, siempre desde la perspectiva del programador.
El Meetup está dividido en 3 secciones:
* Docker como herramienta de ayuda a la programación
* Docker como sistema de empaquetado de nuestras apps.
* Docker como entorno de despliegue (docker-compose).
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+DinLabFIB
Workshop realitzat per l'equip uLab UPC de l'inLab FIB, després de realitzar una prova de concepte de la tecnologia. Més informació:
http://inlab.fib.upc.edu/ca/blog/meteorjs-getting-started
Introduction to Docker. A brief description about Docker: architecture, what is Docker for, how do I start using Docker, what I need, docker ecosystem...
It was exposed in first meetup Cloud Computer Meetup Spain (http://www.meetup.com/Cloud-Computing-Spain/)
Con Docker podemos envolver una aplicación dentro de un contenedor con un sistema de ficheros completo y con todo lo que necesita para funcionar, de esta forma la aplicación siempre se ejecutará igual independientemente del entorno en el que se encuentre.
En esta charla empezaremos con una introducción a Docker para después pasar a explicar con ejemplos cómo podemos crear contenedores que repliquen el software existente en producción, de esta forma el entorno de desarrollo de todo nuestro equipo será siempre consistente con el entorno de producción.
Contenedores, creando infraestructuras homogeneasSoftware Guru
Una breve exposición sobre como el uso de contenedores puede ayudar a los Dev Ops a tener entornos escalables de fácil replicación en las plataformas donde Docker pueda instalarse, ademas de la exploración de herramientas como docker-composer la cual sirve para describir y construir plataformas para las aplicaciones.
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...espinozaernesto427
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta intensidad son un tipo de lámpara eléctrica de descarga de gas que produce luz por medio de un arco eléctrico entre electrodos de tungsteno alojados dentro de un tubo de alúmina o cuarzo moldeado translúcido o transparente.
lámparas más eficientes del mercado, debido a su menor consumo y por la cantidad de luz que emiten. Adquieren una vida útil de hasta 50.000 horas y no generan calor alguna. Si quieres cambiar la iluminación de tu hogar para hacerla mucho más eficiente, ¡esta es tu mejor opción!
Las nuevas lámparas de descarga de alta intensidad producen más luz visible por unidad de energía eléctrica consumida que las lámparas fluorescentes e incandescentes, ya que una mayor proporción de su radiación es luz visible, en contraste con la infrarroja. Sin embargo, la salida de lúmenes de la iluminación HID puede deteriorarse hasta en un 70% durante 10,000 horas de funcionamiento.
Muchos vehículos modernos usan bombillas HID para los principales sistemas de iluminación, aunque algunas aplicaciones ahora están pasando de bombillas HID a tecnología LED y láser.1 Modelos de lámparas van desde las típicas lámparas de 35 a 100 W de los autos, a las de más de 15 kW que se utilizan en los proyectores de cines IMAX.
Esta tecnología HID no es nueva y fue demostrada por primera vez por Francis Hauksbee en 1705. Lámpara de Nernst.
Lámpara incandescente.
Lámpara de descarga. Lámpara fluorescente. Lámpara fluorescente compacta. Lámpara de haluro metálico. Lámpara de vapor de sodio. Lámpara de vapor de mercurio. Lámpara de neón. Lámpara de deuterio. Lámpara xenón.
Lámpara LED.
Lámpara de plasma.
Flash (fotografía) Las lámparas de descarga de alta intensidad (HID) son un tipo de lámparas de descarga de gas muy utilizadas en la industria de la iluminación. Estas lámparas producen luz creando un arco eléctrico entre dos electrodos a través de un gas ionizado. Las lámparas HID son conocidas por su gran eficacia a la hora de convertir la electricidad en luz y por su larga vida útil.
A diferencia de las luces fluorescentes, que necesitan un recubrimiento de fósforo para emitir luz visible, las lámparas HID no necesitan ningún recubrimiento en el interior de sus tubos. El propio arco eléctrico emite luz visible. Sin embargo, algunas lámparas de halogenuros metálicos y muchas lámparas de vapor de mercurio tienen un recubrimiento de fósforo en el interior de la bombilla para mejorar el espectro luminoso y reproducción cromática. Las lámparas HID están disponibles en varias potencias, que van desde los 25 vatios de las lámparas de halogenuros metálicos autobalastradas y los 35 vatios de las lámparas de vapor de sodio de alta intensidad hasta los 1.000 vatios de las lámparas de vapor de mercurio y vapor de sodio de alta intensidad, e incluso hasta los 1.500 vatios de las lámparas de halogenuros metálicos.
Las lámparas HID requieren un equipo de control especial llamado balasto para funcionar
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
6. DOCKERTEAYUDA
Alguien tiene un script para instalar automaticamente
Wordpress
Habéis tenido que llevar una aplicación rápidamente a
otro servidor
Habéis necesitado escalar un servicio.
8. COMOENCONTRÉDOCKER
Equipos de desarrollo con la misma configuración.
Tener distintas versiones de una app en el mismo servidor
Desplegar rápidamente y en cualquier servidor cualquier
stack
9. ANTESPROBAMOS
Había probado con Virtualbox. Demasiados recursos
Probamos con Vagrant. Demasiado manual
Usamos Vagrant + Puppet. Complejo y tedioso.
El stack se había hecho muy complejo
11. QUEESDOCKER
Docker containers wrap up a piece of
software in a complete filesystem that
contains everything it needs to run: code,
runtime, system tools, system libraries
#*@!#
Docker website
19. DOCKER:IMAGES
Listar las imágenes instaladas
>_ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
pythonbce latest e6c6b9f243b3 9 days ago 692.5 MB
nodegulp latest af8ac3d2b121 10 days ago 661.7 MB
puppet v1 6fac737d4ff8 13 days ago 337.2 MB
20. DOCKER:PULL
Pull como en git sirve para bajar imagenes:
>_ docker pull httpd
Esto guarda localmente todas las capas de la imagen de
apache.
21. DOCKER:PULL
A veces las imágenes tienen diferentes versiones de un
mismo servicio.
Podemos bajar solamente la versión que no interese de una
imagen, descartando capas que no nos valen
>_ docker pull httpd:2.2
22. DOCKER:RUN
El comando runejecuta la imagen escogida. Toda imagen
necesita ejecutar un comando y cuando ese comando
termine la máquina se apaga.
>_ docker run ti busybox echo "hola mundo"
hola mundo
23. DOCKER:RUN
Podemos mantener la maquina en segundo plano, siempre
y cuando ejecuto un comando que no termina:
>_ docker run d busybox tail f /proc/swaps
97819261ac2
Generará una máquina con un nombre aleatorio y el id que
se muestra
24. DOCKER:COMMIT
Docker no guarda persistencia en los cambios. Si queremos
modificar una imagen y guardar esos cambios tenemos que
hacer un commit, con estos pasos
1. Creamos la imagen
2. Cogemos el ID de la ultima máquina creada
>_ docker run ti busybox touch myfile
>_ docker ps lq
b8679bcd41dc
25. 3. Hacemos el commit
4. Verificamos la disposición
>_ docker commit b8679bcd41dc busybox:2
>_ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
busybox:2 latest 4e4d7142d4cf 20 seconds ago 1.109 MB
32. DOCKERPUSH
El proceso tiene 4 pasos:
1. Loguearnos en el servicio (DonDocker)
2. Creamos el contenedor.
3. Hacemos un commit de la imagen
4. Hacemos el push de la imagen
Tutorial de DonDocker
34. Vamos a buscar la imagen a . (Se
recomienda usar las imágenes oficiales) Bajamos la imagen
httpd
hub.docker.com
>_ docker pull httpd:2.2
Tras tener la imagen, vamos a desplegar la máquina con el
código que tenemos en nuestra carpeta ~/app/así:
>_ docker run d name apache p 8888:80
v ~/app:/usr/local/apache2/htdocs/ httpd:2.2
Ahora podemos abrir la aplicación:
>_ xdgopen http://localhost:8888/
39. ENV se usa para generar variables de entorno que luego
estarán disponibles
ENV PHP_VERSION 5.6.2
ENV PATH $PATH:$HTTPD_PREFIX/bin
40. RUN es cualquier orden que ejecutaríamos en la consola.
Para que en la máquina conste menos pasos se suelen
agrupar todas las ordenes
RUN aptget update
#UNA SOLA ORDEN
RUN aptget update
&& aptget install y
libapr1
libaprutil1
libapr1dev
libaprutil1dev
libpcre++0
libssl1.0.0
&& rm r /var/lib/apt/lists/*
41. DOCKERFILE:WORKDIR,ADD,COPY,
EXPOSE,VOLUME
COPY sirve para añadir scripts o ficheros a la imagen
durante la creación
ADD es similar a copy pero puede interpretar cualquier uri
WORKDIR es la ruta base sobre la que se ejecutará todo
COPY httpdforeground /usr/local/bin/
ADD http://gits.github.com/saujhf22 /local/
WORKDIR /local/
42. EXPOSE sirve para dar acceso a un puerto o rango de
puertos
EXPOSE 80
VOLUME se usa para dar persistencia a los datos, suele
darse a carpetas que contienen la aplicación a ejecutar o los
datos da la base de datos.
VOLUME ["/var/www", "/var/log/apache2", "/etc/apache2"]
43. DOCKERFILE:CMD,ENTRYPOINT
CMD este comando se ejecuta cuando se arranca la
máquina. Suele usarse para ejecutar servicios que
funcionan constantemente como apache
ENTRYPOINT se ejecuta cada vez que se ejecuta la
máquina. Suele usarse para preparar la máquina o
descargar librerias
CMD ["httpdforeground"]
ENTRYPOINT bower install g
46. Resulta de mucha utilidad para cuando estamos
desarrollando
Se pueden montar varias carpetas incluso ficheros
individuales
>_ docker run v $PWD/app:/var/www/html httpd:2
>_ docker run volume $PWD/app:/var/www/html httpd:2
49. No se necesitan que otras máquinas estén ejecutandose
Montará aquellas carpetas definidas como volumenes, bien
en el Dockerfile al crearse o al errancar la máquina
51. PÁSOPARACREARELSTACK
1. Definir variables de la base de datos.
2. Definir variables de la aplicación
3. Arrancar la máquina con MySQL
4. Arrancar Wordpress y enlazar a la base de datos
52. VARIABLESDEMYSQL
Nombre de la base de datos
El usuario que se va a conectar
El password del usuario
Hay otras variables que se pueden definir
53. VARIABLESDEWORDPRESS
Definimos lo que tiene que ver con la base de datos.
Usuario
Contraseña
Nombre de la base de datos
Prefijo de la base de datos
Opciones de autenticación
57. INSPECT
Herramienta que nos proporciona información acerca de las
máquinas en funcionamiento. Ejemplo:
>_ docker inspect my_machine
Devuelve un JSON con datos de la máquina: IP, imagen,
volumenes, puertos...
59. INSPECT:FILTROS
Como inspect devuelve muchos datos, la opción -f nos
permite filtrar como lo harías en un JSON. Para saber la IPv4
de una máquina:
>_ docker inspect f '{{.NetworkSettings.IPAddress}}' my_machine
El resultado de inspect -f no es json para
ello tenemos que poner el modificador
delante del filtro: -f '{{json .Config.Env}}'
61. DOCKER-COMPOSE
Se usa para controlar un stack entero
Toda la configuración en un solo fichero docker-
compose.yml
Facilita el escalado de las máquinas
64. DOCKER-MACHINE
Gestor de maquinas virtuales que nos abstrae del tipo de
máquina y que instala lo imprescindible para usar docker.
Para sistemas operativos no linux y cuando no quieres
guarrear tu máquina.
65. ORDENESBÁSICAS
Ver las máquinas creadas.
>_ dockermachine ls
Arrancar una máquina.
>_ dockermachine start [nombremaquina]
Parar el stack:
>_ dockercompose stop [nombremaquina]
66. CREARUNAMÁQUINA
docker-machine permite crear una máquina virtual local o
en diferentes plataformas
>_ dockermachine create
genericipaddress 192.168.99.111
virtualboxboot2dockerurl http://192.168.99.100:4444/boot2docker.iso
virtualboxcpucount "1"
virtualboxdisksize "20000"
virtualboxmemory "1024"
d virtualbox
mimaquina
Conectar con la máquina sin usar ssh
>_ eval $(dockermachine env mimaquina)