Este documento contiene información sobre Docker y su uso. Brevemente explica que Docker permite empaquetar aplicaciones con sus dependencias para facilitar el desarrollo de software, utilizando tecnología como Linux Containers para aislar los contenedores. También proporciona ejemplos básicos de comandos de Docker como "docker run" e introduce conceptos como Dockerfile, imágenes y repositorios.
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
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.
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
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
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.
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
"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
Una introducción a Docker, los principales conceptos e ideas y como se lo puede utilizar desde Microsoft Azure. Esta presentación fue parte del Global Azure Bootcamp 2016 en Buenos Aires, Argentina
Docker meetup :: Kubernetes en RestorandoRestorando
Presentamos en la meetup de docker nuestra experiencia (hasta ahora, junio 2016) con kubernetes. Al principio se introduce los conceptos básicos de kubernetes y luego contamos nuestra experiencia y workaround para obtener alguna funcionalidad.
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).
Kubernetes: Caso de uso real con mememtum y TaniwaJoselu Marina
La nueva versión del backend de mememtum (detección temprana de Parkison mediante pruebas en el móvil) la hemos desarrollado usando:
Docker
Kubernetes y
Go.
Este taller explica nuestra experiencia.
En resumen: Impresionante.
Autores: Jesús Pancorbo | José Luis Marina
Presentación para el evento de Sloth en la ciudad de Cancún, Qroo en su primera edición en el año 2019.
Se tratan temas de como podemos orquestar contenedores bajo entornos de producción y con que herramientas podemos lograr todo esto, desde la infraestructura como código (terraform), pasando al entender el por qué del uso de contenedores (docker), hasta como podemos orquestarlo sobre la plataforma de AWS (Kubernetes).
Solapas principales Ver(solapa activa) Editar Gestionar present...Software Guru
Docker es un sistema de virtualización de servicios que nos permite aislar aplicaciones o sistemas operativos completos de una manera muy eficiente ya que no se dedican recursos de cómputo a emular el hardware como se hace con los hipervisores tradicionales como KVM, VirtualBox o VMWare.
En es plática vamos a analizar que es Docker, como funciona, un vistazo a la tecnología que lo compone y algunos casos de uso.
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/)
Docker es una de las tecnologías que más revolucionó el manejo de ambientes y despliegue de aplicaciones a gran escala. Veremos por qué es tan importante conocer esta tecnología para desarrolladores y administradores de infraestructura y cómo facilita aplicar prácticas de devops.
Durante la charla introduciremos la tecnología, como así tambien los casos prácticos sobre clustering, repositorios privados de imágenes y arquitectura productivas.
Gustavo Brey
Gustavo Andres Brey es Ingeniero en Sistemas de Información con más de 15 años de experiencia en la Industria IT. Actualmente es el CIO del Instituto Nacional de Servicios Sociales para Jubilados y Pensionados (INSSJP/PAMI), donde está impulsando un cambio de paradigma innovador en IT para la gestión de la salud pública Argentina. Desde 2004 es fundador y profesor de la materia Arquitectura de Proyectos de IT en la UTN- FRBA. A su vez es Co-Fundador de CONF4IT, una organización sin fines de lucro, que desarrolla conferencias agnósticas para distintas comunidades IT como ARQCONF y KIDSCONF. Participó en importantes conferencias de Tecnologías de la Información, Salud , Innovación, Open Source, Big Data, Arquitectura de Software, Gobierno y Datos Abiertos, así como de Hackathones.
Andrés Calabrese
Ingeniero en Sistema de Información con más de 11 años de experiencia tanto en puestos de liderazgo técnico en grandes empresas, como así también como CTO en varios emprendiendo tecnologicos como socio. Andrés comenzó su carrera en IBM, liderando proyectos complejos en diferentes tecnologías, a su vez promovió encuentros de colaboración técnica. Como CTO definió, planificó e implementó prácticas de Devops que permitieron guiar tecnologicamente a la compañía en términos metodológicos, de desarrollo e infraestructura.
"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
Una introducción a Docker, los principales conceptos e ideas y como se lo puede utilizar desde Microsoft Azure. Esta presentación fue parte del Global Azure Bootcamp 2016 en Buenos Aires, Argentina
Docker meetup :: Kubernetes en RestorandoRestorando
Presentamos en la meetup de docker nuestra experiencia (hasta ahora, junio 2016) con kubernetes. Al principio se introduce los conceptos básicos de kubernetes y luego contamos nuestra experiencia y workaround para obtener alguna funcionalidad.
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).
Kubernetes: Caso de uso real con mememtum y TaniwaJoselu Marina
La nueva versión del backend de mememtum (detección temprana de Parkison mediante pruebas en el móvil) la hemos desarrollado usando:
Docker
Kubernetes y
Go.
Este taller explica nuestra experiencia.
En resumen: Impresionante.
Autores: Jesús Pancorbo | José Luis Marina
Presentación para el evento de Sloth en la ciudad de Cancún, Qroo en su primera edición en el año 2019.
Se tratan temas de como podemos orquestar contenedores bajo entornos de producción y con que herramientas podemos lograr todo esto, desde la infraestructura como código (terraform), pasando al entender el por qué del uso de contenedores (docker), hasta como podemos orquestarlo sobre la plataforma de AWS (Kubernetes).
Solapas principales Ver(solapa activa) Editar Gestionar present...Software Guru
Docker es un sistema de virtualización de servicios que nos permite aislar aplicaciones o sistemas operativos completos de una manera muy eficiente ya que no se dedican recursos de cómputo a emular el hardware como se hace con los hipervisores tradicionales como KVM, VirtualBox o VMWare.
En es plática vamos a analizar que es Docker, como funciona, un vistazo a la tecnología que lo compone y algunos casos de uso.
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/)
Docker es una de las tecnologías que más revolucionó el manejo de ambientes y despliegue de aplicaciones a gran escala. Veremos por qué es tan importante conocer esta tecnología para desarrolladores y administradores de infraestructura y cómo facilita aplicar prácticas de devops.
Durante la charla introduciremos la tecnología, como así tambien los casos prácticos sobre clustering, repositorios privados de imágenes y arquitectura productivas.
Gustavo Brey
Gustavo Andres Brey es Ingeniero en Sistemas de Información con más de 15 años de experiencia en la Industria IT. Actualmente es el CIO del Instituto Nacional de Servicios Sociales para Jubilados y Pensionados (INSSJP/PAMI), donde está impulsando un cambio de paradigma innovador en IT para la gestión de la salud pública Argentina. Desde 2004 es fundador y profesor de la materia Arquitectura de Proyectos de IT en la UTN- FRBA. A su vez es Co-Fundador de CONF4IT, una organización sin fines de lucro, que desarrolla conferencias agnósticas para distintas comunidades IT como ARQCONF y KIDSCONF. Participó en importantes conferencias de Tecnologías de la Información, Salud , Innovación, Open Source, Big Data, Arquitectura de Software, Gobierno y Datos Abiertos, así como de Hackathones.
Andrés Calabrese
Ingeniero en Sistema de Información con más de 11 años de experiencia tanto en puestos de liderazgo técnico en grandes empresas, como así también como CTO en varios emprendiendo tecnologicos como socio. Andrés comenzó su carrera en IBM, liderando proyectos complejos en diferentes tecnologías, a su vez promovió encuentros de colaboración técnica. Como CTO definió, planificó e implementó prácticas de Devops que permitieron guiar tecnologicamente a la compañía en términos metodológicos, de desarrollo e infraestructura.
Docker Online Meetup: Announcing Docker CE + EEDocker, Inc.
Docker Community Edition (CE) and Enterprise Edition (EE) are the best expressions of the Docker Platform to date. Whether you’re a developer, an ops team or a enterprise IT-team member, and no matter the infrastructure, Docker CE and EE gives you a way to install, upgrade and maintain Docker with the support and assurances required for your particular workload.
Both Docker CE and EE are available on a wide range of popular operating systems (including Windows Server 2016) and cloud infrastructure. Developers and devOps have the freedom to run Docker on their favorite infrastructure without risk of lock-in.
Michael Friis will give an overview of both editions and highlight the big enhancements to the lifecycle, maintainability and upgradability of Docker.
containerd summit - Deep Dive into containerdDocker, Inc.
containerd is an industry-standard core container runtime with an emphasis on simplicity, robustness and portability. It is available as a daemon for Linux and Windows, which can manage the complete container lifecycle of its host system: image transfer and storage, container execution and supervision, low-level storage and network attachments, etc..
containerd is designed to be embedded into a larger system, rather than being used directly by developers or end-users.
containerd includes a daemon exposing gRPC API over a local UNIX socket. The API is a low-level one designed for higher layers to wrap and extend. It also includes a barebone CLI (ctr) designed specifically for development and debugging purpose. It uses runC to run containers according to the OCI specification. The code can be found on GitHub, and here are the contribution guidelines.
containerd is based on the Docker Engine’s core container runtime to benefit from its maturity and existing contributors.
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).
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
Conferencia ganadora en la última edición de VoIP2DAY de Elio Rojano y Rosa Atienza. En la ponencia se realizó una introducción al Sistema Docker y se dieron algunas claves para utilizarlo con Sistemas Asterisk.
Aprende desde cero a crear y a configurar tus propias infraestructuras de software utilizando contenedores. De forma sencilla y potente podrás crear plataformas personalizadas con las que podrás desplegar tus aplicaciones en la nube o en cualquier infraestructura donde tengas Docker.
Kubernetes es una plataforma cada vez más utilizada para poner en producción aplicaciones y servicios. Todos los grandes proveedores cloud la ofrecen y también puede instalarse on premises. En estas slides presentaremos los concetos básicos de la plataforma y aprenderemos a desplegar aplicaciones.
Las slides se han usado en un curso gratuito que ha sido grabado y publicado aquí: https://www.youtube.com/watch?v=5ovqsvqwtZM
Paso a paso para instalar el Docker Engine en una instalacion de Ubuntu Server 16.04 LTS. Docker, es una plataforma que utiliza contenedores una nueva forma de empaquetar aplicaciones. Los contenedores son un método de virtualización del sistema operativo que le permiten ejecutar una aplicación y sus dependencias en procesos de recursos aislados; también permite empaquetar el código de una aplicación, su configuración y dependencias en bloques uniformes de forma que permite que la aplicación funcione de la misma manera en cualquier servidor ya que lleva incluido las librerías, archivos y configuraciones necesarias para que funcione adecuadamente.
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
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.
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.
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.
(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.
2. About me...
Mariano Germán Egui
Trabajo como desarrollador web
Me gustan las buenas prácticas
Me preocupa la seguridad de la aplicación
Participó de Meetups y voy a conferencias relacionadas a
desarrollo e Infraestructura
Soy 100% amateur, programo en muchos lenguajes y me
mande hacer el elefante de PHP
Twitter: @EguiMariano
egui.mariano@gmail.com
@EguiMariano
4. ¿Que es Docker?
Docker permite empaquetar una aplicación con todas sus
dependencias en una unidad estandarizada para el
desarrollo de software.
@EguiMariano
Fuente: https://www.docker.com/what-docker
5. ¿Cómo lo hace?
Usando LXC (Linux Containers)….
Wikipedia.org:
“ Es una tecnología de virtualización en el nivel de sistema
operativo (SO) para Linux. LXC permite que un servidor físico
ejecute múltiples instancias de sistemas operativos aislados,
conocidos como Servidores Privados Virtuales (SPV o VPS en
inglés) o Entornos Virtuales (EV). LXC no provee de una
máquina virtual, más bien provee un entorno virtual que tiene
su propio espacio de procesos y redes. “
Fuente: https://es.wikipedia.org/wiki/LXC
@EguiMariano
6. Un container tiene las aplicaciones, librerías,
configuraciones, etc. que podamos necesitar y el
resto lo toma del host y recursos compartidos.
@EguiMariano
Simplificado por favor...
7. Entonces….
Docker es una herramienta más
que usa LXC
Docker utiliza la tecnología de LXC, porque
es más liviana, rapida y eficiente. Pero a
diferencia de otras herramientas Docker
incluye un kernel entre el Host y el Container
que permite su portabilidad entre sistemas
operativos y el completo aislamiento entre
otros contenedores...
8. Una comparación entre Virtualbox y Docker
La tecnología de virtualización es similar a las máquinas virtuales, pero más ligero, ya que no se
carga un sistema operativo completo para cada contenedor
@EguiMariano
9. ¿Para qué sirve?
● Definir runtime environments distribuibles
● Colaboración entre DevOps y Devs
● Para entornos de desarrollo, CI y producción
● Versionar las aplicaciones y su entornos
● Escalable
14. Docker posee su repositorio
Todas las imágenes se buscan en el host (local) y después en el repositorio Docker Hub,
el repositorio puede ser public o privado.
https://hub.docker.com/
Fuente: https://hub.docker.com/
@EguiMariano
15. Hello world
@EguiMariano
~➤ docker run ubuntu /bin/echo ‘Hello world’
Hello world
~➤ docker run -t -i ubuntu /bin/bash
root@af8bae53bdd3:/#
16. attach
Adjunta a un contenedor corriendo
build
Construye un contenedor de un archivo Docker
commit
Crea una nueva imagen de los cambios del
contenedor
cp
Copia archivos/carpetas de los contenedores del
sistema de archivos a la ruta de host
version
Muestra la información de versión de Docker
Comandos de Docker
@EguiMariano
diff
Inspecciona los cambios en el sistema de
archivos de un contenedor
events
Obtiene eventos en tiempo real desde el
servidor
export
Transmite el contenido de un contenedor
como un archivo tar
history
Muestra el historial de una imagen
Fuente: https://docs.docker.com/engine/reference/commandline
17. images
Lista las imágenes
import
Crea una nueva imagen del sistema de
archivos de los contenidos a partir de un
archivo tar
info
Muestra el sistema de información de la
pantalla
insert
Inserta un archivo en una imagen
tag
Etiqueta una imagen en un repositorio
inspect
Regresa información de bajo nivel en un
contenedor
kill
Mata a un contenedor en ejecución
(corriendo)
load
Carga una imagen desde un archivo tar
login
Registra la sesión para el servidor de
registro de Docker
logs
Obtiene los registros de un contenedor
Fuente: https://docs.docker.com/engine/reference/commandline
@EguiMariano
18. port
Busca el puerto público el cual está NAT-
eado y lo hace privado (PRIVATE_PORT)
ps
Lista los Contenedores
pull
Descarga una imagen o un repositorio del
servidor de registros Docker
push
Empuja una imagen o un repositorio del
servidor de registro Docker
restart
Reinicia un contenedor en ejecución
(corriendo)
top
Busca los procesos en ejecución de un
contenedor
rm
Elimina uno o más contenedores
rmi
Elimina una o más imágenes
run
Ejecuta un comando en un contenedor
save
Guarda una imagen en un archivo tar
search
Busca una imagen en el índice de Docker
start
Inicia un contenedor detenido
stop
Detiene un contenedor en ejecución
(corriendo)
Fuente: https://docs.docker.com/engine/reference/commandline
@EguiMariano
19. Dockerfile
@EguiMariano
~➤ echo '
FROM ubuntu:14.04.4
MAINTAINER Mariano Egui <egui.mariano@gmail.com>
RUN apt-get update
RUN apt-get -y install apache2
EXPOSE 80
CMD /usr/sbin/apache2ctl -D FOREGROUND
' > Dockerfile
20. Información general sobre comandos Dockerfile
@EguiMariano
ADD
Copia un archivo desde el host en el
contenedor
CMD
Configura comandos por defecto para ser
ejecutado, o se pasa al punto de entrada
ENTRYPOINT
ENTRYPOINT
Ajusta el punto de entrada por defecto de la
aplicación desde el contenedor
ENV
Inicializa variables de entorno (por ejemplo,
"clave=valor")
EXPOSE
Expone un puerto al exterior
FROM
Configura la imagen base para usar
RUN
Ejecuta un comando y cambia (commit) el
resultado de la la imagen final (contenedor)
USER
Establece el usuario para ejecutar los
contenedores de la imagen
VOLUMEN
Monta un directorio desde el host al
contenedor
WORKDIR
Establece el directorio para las directivas de
CMD que se ejecutarán
Fuente: https://docs.docker.com/engine/reference/builder
22. Imagen en caliente
@EguiMariano
~ ➤ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 44776f55294a 8 days ago 120.1 MB
~➤ docker run -it ubuntu
root@b0114a140333:/#
root@b0114a140333:/# apt-get update
root@b0114a140333:/# apt-get install apache2
root@b0114a140333:/#
~ ➤ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b0114a140333 ubuntu "/bin/bash" 35 minutes ago Up 35 minutes furious_knuth
~ ➤ docker commit --help
~ ➤ docker commit b0114a140333 local:apache2
Sha256:5ec5c7debed77ed44285cfee560ab11b45f2fe71faeabf32866b042ea10529b2
~ ➤ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
local apache2 5ec5c7debed7 8 seconds ago 256 MB
ubuntu latest 44776f55294a 8 days ago 120.1 MB
Terminal 1
Terminal 2
23. Docker Compose
@EguiMariano
Componer es una
herramienta para la
definición y ejecución de
contenedores para
aplicaciones “multi-Docker”.
Fuente: https://github.com/schoren