Este documento presenta una introducción a Docker. Explica conceptos clave como contenedores, imágenes y registros. Detalla los comandos básicos de Docker como docker run, docker build y docker pull. También cubre temas como la creación de imágenes, el uso de volúmenes, la vinculación de contenedores y la orquestación con Kubernetes. Finalmente, explora cómo Docker puede usarse para implementar microservicios y facilitar la integración continua.
A Gentle Introduction To Docker And All Things ContainersJérôme Petazzoni
Docker is a runtime for Linux Containers. It enables "separation of concern" between devs and ops, and solves the "matrix from hell" of software deployment. This presentation explains it all! It also explains the role of the storage backend and compares the various backends available. It gives multiple recipes to build Docker images, including integration with configuration management software like Chef, Puppet, Salt, Ansible. If you already watched other Docker presentations, this is an actualized version (as of mid-November 2013) of the thing!
Docker is the world's leading software containerization platform.
This is a comprehensive introduction to Docker, suitable for delivering in introductory meetups to an audience who does not know about docker.
In case you want to deliver this presentation somewhere, kindly drop me a mail at aditya.konarde@gmail.com
You can contact me at:
Connect with me onLinkedIN: https://www.linkedin.com/in/adityakonarde
Add me on Facebook: https://www.facebook.com/Aditya.Konarde
Tweet to me @aditya_konarde
A Gentle Introduction To Docker And All Things ContainersJérôme Petazzoni
Docker is a runtime for Linux Containers. It enables "separation of concern" between devs and ops, and solves the "matrix from hell" of software deployment. This presentation explains it all! It also explains the role of the storage backend and compares the various backends available. It gives multiple recipes to build Docker images, including integration with configuration management software like Chef, Puppet, Salt, Ansible. If you already watched other Docker presentations, this is an actualized version (as of mid-November 2013) of the thing!
Docker is the world's leading software containerization platform.
This is a comprehensive introduction to Docker, suitable for delivering in introductory meetups to an audience who does not know about docker.
In case you want to deliver this presentation somewhere, kindly drop me a mail at aditya.konarde@gmail.com
You can contact me at:
Connect with me onLinkedIN: https://www.linkedin.com/in/adityakonarde
Add me on Facebook: https://www.facebook.com/Aditya.Konarde
Tweet to me @aditya_konarde
Learn, Collaborate & Dockerize. Docker is an open platform that helps you build, ship and run applications anytime and anywhere.
Join Docker Jaipur:
Docker Page: events.docker.com/jaipur
Telegram Group: t.me/dockerjaipur
Twitter: @JaipurDocker
***** DevOps Masters Program : https://www.edureka.co/masters-program/devops-engineer-training *****
This DevOps Docker Commands tutorial ( Docker Tutorial Blog Series: https://goo.gl/z93Ed1 ) will introduce you to the most commonly used Docker commands. The Hands-On session is performed on an Ubuntu-64 bit machine in which Docker is installed.
To learn how Docker can be used to integrate multiple DevOps tools, watch the video titled 'DevOps Tools', by clicking this link: https://goo.gl/up9iwd
This presentation covers how app deployment model evolved from bare metal servers to Kubernetes World.
In addition to theoretical information, you will find free KATACODA workshops url to perform practices to understand the details of the each topics.
Short Introduction to Docker. These slides show the basic idea behind the container technology Docker. The slides present the basic features for the daily use with Docker, Docker Compose, Docker Machine and Docker Swarm.
Docker is specially important for DevOps, because it gives Software Developers more control about their dependencies in different environments.
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
This presentation on Docker Container will help you understand what is Docker, the architecture of Docker, what is a Docker Container, how to create a Docker Container, benefits of Docker Container, basic commands of Containers and you will also see a demo on creating Docker Container. Docker is a very lightweight software container and containerization platform. Docker containers provide a way to run software in isolation. It is an open source platform that helps to package an application and its dependencies into a Docker container for the development and deployment of software and a Docker COntainer is a portable executable package which includes applications and their dependencies. With Docker Containers, applications can work efficiently in different computer environments.
Below DevOps tools are explained in this Docker Container presentation:
1. What is Docker?
2. The architecture of Docker?
3. What is a Docker Container?
4. How to create a Docker Container?
5. Benefits of Docker Containers
6. Basic commands of Containers
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Docker Birthday #3 - Intro to Docker SlidesDocker, Inc.
High level overview of Docker + Birthday #3 overview (app and challenge portion)!
Learn more about Docker Birthday #3 celebrations here: https://www.docker.com/community/docker-birthday-3
Evolving to serverless
How the applications are transforming
A note on CI/CD
Architecture of Docker
Setting up a docker environment
Deep dive into DockerFile and containers
Tagging and publishing an image to docker hub
A glimpse from session one
Services: scale our application and enable load-balancing
Swarm: Deploying application onto a cluster, running it on multiple machines
Stack: A stack is a group of interrelated services that share dependencies, and can be orchestrated and scaled together.
Deploy your app: Compose file works just as well in production as it does on your machine.
Extras: Containers and VMs together
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
This was a talk given at the second CT Software Developers Meetup (http://www.meetup.com/CT-Software-Developers-Meetup/). It covers how NorthPage is using Docker and Vagrant with a home grown Preview tool to increase the efficiency of the GitHub Pull Request Workflow.
Learn, Collaborate & Dockerize. Docker is an open platform that helps you build, ship and run applications anytime and anywhere.
Join Docker Jaipur:
Docker Page: events.docker.com/jaipur
Telegram Group: t.me/dockerjaipur
Twitter: @JaipurDocker
***** DevOps Masters Program : https://www.edureka.co/masters-program/devops-engineer-training *****
This DevOps Docker Commands tutorial ( Docker Tutorial Blog Series: https://goo.gl/z93Ed1 ) will introduce you to the most commonly used Docker commands. The Hands-On session is performed on an Ubuntu-64 bit machine in which Docker is installed.
To learn how Docker can be used to integrate multiple DevOps tools, watch the video titled 'DevOps Tools', by clicking this link: https://goo.gl/up9iwd
This presentation covers how app deployment model evolved from bare metal servers to Kubernetes World.
In addition to theoretical information, you will find free KATACODA workshops url to perform practices to understand the details of the each topics.
Short Introduction to Docker. These slides show the basic idea behind the container technology Docker. The slides present the basic features for the daily use with Docker, Docker Compose, Docker Machine and Docker Swarm.
Docker is specially important for DevOps, because it gives Software Developers more control about their dependencies in different environments.
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
This presentation on Docker Container will help you understand what is Docker, the architecture of Docker, what is a Docker Container, how to create a Docker Container, benefits of Docker Container, basic commands of Containers and you will also see a demo on creating Docker Container. Docker is a very lightweight software container and containerization platform. Docker containers provide a way to run software in isolation. It is an open source platform that helps to package an application and its dependencies into a Docker container for the development and deployment of software and a Docker COntainer is a portable executable package which includes applications and their dependencies. With Docker Containers, applications can work efficiently in different computer environments.
Below DevOps tools are explained in this Docker Container presentation:
1. What is Docker?
2. The architecture of Docker?
3. What is a Docker Container?
4. How to create a Docker Container?
5. Benefits of Docker Containers
6. Basic commands of Containers
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Docker Birthday #3 - Intro to Docker SlidesDocker, Inc.
High level overview of Docker + Birthday #3 overview (app and challenge portion)!
Learn more about Docker Birthday #3 celebrations here: https://www.docker.com/community/docker-birthday-3
Evolving to serverless
How the applications are transforming
A note on CI/CD
Architecture of Docker
Setting up a docker environment
Deep dive into DockerFile and containers
Tagging and publishing an image to docker hub
A glimpse from session one
Services: scale our application and enable load-balancing
Swarm: Deploying application onto a cluster, running it on multiple machines
Stack: A stack is a group of interrelated services that share dependencies, and can be orchestrated and scaled together.
Deploy your app: Compose file works just as well in production as it does on your machine.
Extras: Containers and VMs together
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
This was a talk given at the second CT Software Developers Meetup (http://www.meetup.com/CT-Software-Developers-Meetup/). It covers how NorthPage is using Docker and Vagrant with a home grown Preview tool to increase the efficiency of the GitHub Pull Request Workflow.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello. Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello. fdggd
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
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
Docker para Data Scientist - Master en Data Science URJCMicael Gallego
Presentación de Docker en el Master en Data Science de la URJC en la asignatura de Arquitecturas en la nube. En esta asignatura hablamos de AWS, Azure, Docker, Kubernetes, Mesos
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Santi Macias Rodriguez
Si eres desarrollador .NET y quieres aprender cómo funciona de principio a fin una cadena de suministro de software y su flujo de trabajo utilizando contenedores Docker y Kubernetes no te pierdas nuestro próximo MeetUp en Barcelona.
Charla impartida en Codemotion 2016.
Con Docker podremos configurar los entornos de nuestras aplicaciones de forma programática y además que todos ejecuten el proyecto en el mismo entorno sin que el SO sea un problema y gastando menos recursos de la máquina. Veremos como hacerlo y poder utilizarlo en nuestro día a día de una manera muy sencilla.
Video: https://youtu.be/fVYyCQeZZNs
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/)
DockerCon EU 2022 Slides: "Docker Onboarding"
Sesión en español para presentar los recursos disponibles para comenzar con Docker.
La sesión está disponible en la página del evento de Docker:
https://docker.events.cube365.net/dockercon/2022/communityroom/WH6PqrceCvsn7P2W7
Presentación del Congreso Inforsalud sobre el proyecto RECAP (REGISTRO
DE CASOS PSIQUIÁTRICOS DE CANARIAS) de Open Canarias y el Servicio Canario de la Salud 2014
Open Canarias and The Canary Health Care Service ( Servicio Canario de la Salud) show how the record of psychiatric case (RECAP) works at the Inforsalud congress done in 2014
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.
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.
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.
2. Marzo 2016 www.opencanarias.com 2
● Experiencia del INTA con Docker (6 min)
– Jesús Garrido (INTA)
– Antonio Lara (INTA)
● Introducción a Docker (1 h 27 min)
– Benito Cuesta (Open Canarias)
– Salvador González (Open Canarias)
3. Marzo 2016 www.opencanarias.com 3
Índice
● Presentación
● Dockers: Definición y características
● Getting Started
● Delivery con Kubernetes
● Microservicios. Estilo arquitectónico. Ventajas de
dockers para una arquitectura de microservicios
● Ciclo de vida con Devops / Integración Continua
● Caso práctico: Cluster de LibreOffice con Docker
5. Marzo 2016 www.opencanarias.com 5
Open Canarias
Empresa de servicios y suministros
TIC fundada en 1996
Actualmente tiene implantación
nacional y con presencia
internacional en México
Está especializada en productos y
servicios TI, además de proyectos de
alto riesgo tecnológico
Business Partner de IBM
Áreas de
servicio
Servicios de
Ingeniería del
Software
Servicios de
Infraestructura
TIC
Servicios
externos
6. Marzo 2016 www.opencanarias.com 6
Servicios de
Ingeniería del Software
Proporcionan soluciones a diferentes aspectos del
ciclo de vida de aplicaciones, con especial énfasis
en el incremento de la productividad y la calidad en
los procesos y productos de trabajo vinculados a
dicho ciclo de vida
Fundamentan estas soluciones en las capacidades
en MDE (Model Driven Engineering), un nuevo
paradigma de la Ingeniería del Software en el que
Open Canarias ha sido pionero y contribuidor a
varios estándares
Con MDE se construyen herramientas que
automatizan procesos y tareas del ciclo de vida del
software, reduciendo los tiempos de entrega, al
mismo tiempo que se mejora la calidad al reducir
las tareas manuales propensas a errores
EstructuradelosServicios
Desarrollo de Herramientas
Modernización del Software
Aseguramiento de la calidad
7. Marzo 2016 www.opencanarias.com 7
Antes de empezar...
● “La complejidad cada vez mayor de las
aplicaciones y la necesidad de acelerar el
desarrollo están ejerciendo aún más presión
sobre la infraestructura, procesos y equipos de TI.”
● https://www.redhat.com/es/insights/containers
8. Marzo 2016 www.opencanarias.com 8
Otra cita...
● “Los líderes en I&O deben mejorar las estrategias
de implementación de servidores o crearán
infraestructuras incapaces de dar soporte a la
siguiente generación de aplicaciones.”
– IT market clock for server virtualization and operanting
environments
– 16/09/2014. GARTNER N.º: G00262842
9. Marzo 2016 www.opencanarias.com 9
Un buen libro para empezar
● The Docker Book
– James Turnbull
– Agosto, 2014
– www.dockerbook.com
11. Marzo 2016 www.opencanarias.com 11
¿Qué es docker?
● “Es un proyecto open source para empaquetar, transportar y ejecutar
cualquier aplicación como un contenedor ligero”.
● Su versión inicial se publica el 13 de Marzo de 2013 y está escrito en el
lenguaje GO.
● Se trata de un nuevo modelo de virtualización que crea una capa de
abstracción con el S.O.
● Un contenedor conforma el contexto de ejecución de una aplicación. Está
compuesto de:
● Sistema de ficheros
● Procesos
● Memoria
● … y todo aislado del S.O huésped
12. Marzo 2016 www.opencanarias.com 12
Componentes
● Libcontainer (Derivado de LXC).
● Linux kernel namespaces (aislamiento del sistema
de ficheros, red y procesos).
● Aislamiento de los recursos (Cpu, Memoria, etc)
por medio de los cgroups.
● Copy-on-write
● Logging. Salidas de la línea de comando
accesibles con el cliente docker.
● Consola interactiva.
13. Marzo 2016 www.opencanarias.com 13
La comunidad de Docker
● 1200 contribuidores al proyecto Docker
● 100,000 aplicaciones dockerizadas
● Entre 3 y 4 millones de desarrolladores usando
Docker
● 300 millones de descargas
● 32,000 proyectos relacionados con Docker
● El 70% de las empresas TI están adoptando Docker
– Fuente: SD Times
15. Marzo 2016 www.opencanarias.com 15
Nueva visión del
Sistema Operativo
● Con el nuevo modelo de contenedores podemos
abstraernos del S.O. donde corre el motor Docker.
● Diseñados para un mundo Cloud, distribuido.
● Los nuevos Sistemas Operativos
(BareMetal/Virtual)
16. Marzo 2016 www.opencanarias.com 16
Registro
● Registro
– Registro público (Docker Hub)
● > 10.000 imágenes disponibles
– Registro privado
● Sólo accesible bajo autorización. Es de pago.
● Registro local
– Este registro se instala por medio de un contenedor
Docker para centralizar las imágenes de los
contenedores
19. Marzo 2016 www.opencanarias.com 19
Instalación
● En linux se hace uso de los comandos de gestión
de paquetes habituales
● Para Windows y Mac se hace uso de un programa
llamado “docker-machine”
● Docker es un demonio que expone una interfaz
REST
21. Marzo 2016 www.opencanarias.com 21
Comandos iniciales
● docker (lista los posibles comandos)
● docker version (versión del demonio y del cliente)
● docker info (información del sistema)
22. Marzo 2016 www.opencanarias.com 22
Nuestro primer contenedor
● docker run -i ubuntu echo Hello World
– run Ejecutar un contenedor→
– -i Modo interactivo→
– ubuntu Imagen a usar en el contenedor→
– echo Hello World Comando a ejecutar→
● Flujo:
– Busca la imagen localmente, luego en repositorios
centrales.
23. Marzo 2016 www.opencanarias.com 23
Imágenes
● Una imagen está formada
por capas (layers) que se
montan unas encima de
otras. Todas en modo sólo
lectura.
● La última capa se monta
como lectura/escritura y
da lugar al contenedor.
● Las capas usan el patrón
“copy on write”
25. Marzo 2016 www.opencanarias.com 25
Crear imágenes
● docker commit (no recomendado)
– docker run -it centos /bin/bash
– yum upgrade && yum install httpd
– vi /var/www/html/index.html
– exit
– docker commit <containerID> sgonzalez/apache:webopen
● docker build
– Consiste en un fichero (Dockerfile) de instrucciones para
construir las imágenes
26. Marzo 2016 www.opencanarias.com 26
Dockerfile
● Comandos más habituales
– FROM De que imagen partimos para crear la nueva→
– MAINTEINER Quien mantiene el contenedor→
– RUN Ejecuta una instrucción en el contenedor→
– ADD Añade un fichero o carpeta al contenedor→
– ENV Establece una variable de entorno en el contenedo→
– EXPOSE Indica que se va a exponer un puerto del→
contenedor
– ENTRYPOINT / CMD Qué se ejecuta→
27. Marzo 2016 www.opencanarias.com 27
entrypoint / cmd
● ENTRYPOINT define el proceso a ejecutar
– Por defecto es “/bin/sh -c”
● CMD son los parámetros del proceso
● Por ejemplo:
– CMD [“/usr/bin/top”]
– docker run -i -t myubuntu (/bin/sh -c /usr/bin/top)
– docker run -i -t myubuntu bash (/bin/sh -c bash)
– ENTRYPOINT ["/bin/cat"]
– docker run -it catimg /etc/passwd (/bin/cat /etc/passwd)
28. Marzo 2016 www.opencanarias.com 28
Contenedores
● Hacen uso de una imagen como base y pueden
contener uno o más procesos.
● Un contenedor Docker es:
– Una instancia de una imagen Docker
– Un conjunto de operaciones asociadas a su ciclo de
vida:
● Crear, Destruir, Arrancar, Reiniciar o Parar
– Un entorno de ejecución
30. Marzo 2016 www.opencanarias.com 30
Uso de contenedores
● Data Volumes
– Dockerfile
● VOLUME [ “/var/log/http” ]
– Docker run
● docker run -v [rutahost:]rutacontenedor[:rw,:ro]
● Data Volume Containers
● docker run --volumes-from datacontainer …
● Links
● (1) docker run -d --name database01 …
● (2) docker run -d --name web --link database01:db ...
31. Marzo 2016 www.opencanarias.com 31
Data Volume Containers
db1
dbstore
db2
--volumes-from
dbstore --volumes-from
dbstore
docker create -v /dbdata --name dbstore ubuntu /bin/true
docker run -d --volumes-from dbstore --name db1 training/postgres
docker run -d --volumes-from dbstore --name db2 training/postgres
/var/lib/docker/volumes/f30d….959c7d/_data
32. Marzo 2016 www.opencanarias.com 32
Post & Link Containers
HOST
Con EXPOSE:
● Se expone un puerto del
contenedor al host.
-p [<host_port>:]<cont_port>
Cuando se “linkan” dos
contenedores pasan dos
cosas:
● Se crean variables de
entorno
<name>_PORT_<port>_<protocol>
● Se modifica el /etc/hosts docker run -d --name db -p 5432 training/postgres
docker run -it --link db:db -p 80:80 --name myapp ubuntu bash
/etc/hosts
172.17.0.2 db
myapp db
eth0
192.168.1.100
eth0
172.17.0.3
eth0
172.17.0.2
docker0
172.17.0.1
80 5432
80 6789
34. Marzo 2016 www.opencanarias.com 34
Orquestación
● Diferentes plataformas de orquestación
● Kubernetes (Proyecto de Google, 2014)
● Mesos (Proyecto apache, 2015)
● Docker Swarm (Proyecto de Docker, 2015)
● Kubernetes (2014)
● Plataforma para automatizar el despliegue, escalado y uso
de contenedores sobre un cluster de servidores.
● El sistema es altamente portable (public, private, hybrid,
multi-cloud)
35. Marzo 2016 www.opencanarias.com 35
Cluster Kubernetes
● El Cluster está compuesto por...
– Número impar de servidores de gestión (>=3)
– Ilimitado número de nodos de trabajo (minions)
● Cita
– “Hay que tratar los servidores como ganado y no como
mascotas”
41. Marzo 2016 www.opencanarias.com 41
Dockers & MSA
● Cloud Ready
● Simplificación de los
despliegues
● Capacidad de escalado
dinámico y automático
● Portabilidad de las
soluciones
● Reutilización
● Facilita la Integración
Contínua
42. Ciclo de vida con DevOps
Integracion Continua
con Dockers
56. Marzo 2016 www.opencanarias.com 56
Usos de Docker
● Ayudar a que nuestro entorno de desarrollo sea más rápido,
eficiente y más ligero. Los desarrolladores pueden compartir
los contenedores entre ellos.
● Ejecución de micro-servicios y aplicaciones consistentemente
entre diferentes entornos. (AWS, GCE, etc).
● Creación de entornos de test para la integración continua
como Jenkins por ejemplo.
● Creación y prueba de entornos complejos en máquinas
locales, antes de pasarlos a producción.
● Construcción de “sandboxes” ligeras para desarrollo, test, etc.
● SaaS y PaaS