CursosEmpresasBlogLiveConfPrecios

Qué es Docker: containarization vs virtualization

Clase 3 de 25 • Fundamentos de Docker 2018

Clase anteriorSiguiente clase

Contenido del curso

Introducción

  • 1
    Qué aprenderás sobre Docker

    Qué aprenderás sobre Docker

    03:11 min
  • 2
    Problemáticas del desarrollo de software profesional

    Problemáticas del desarrollo de software profesional

    06:49 min
  • 3
    Qué es Docker: containarization vs virtualization

    Qué es Docker: containarization vs virtualization

    Viendo ahora

Primeros pasos

  • 4
    Cómo instalar Docker

    Cómo instalar Docker

    10:13 min
  • 5
    Primeros pasos: Hola mundo y Docker Engine

    Primeros pasos: Hola mundo y Docker Engine

    03:44 min
  • 6
    Contenedores

    Contenedores

    04:54 min

Aprendiendo a usar los contenedores

  • 7
    Explorar el estado de docker

    Explorar el estado de docker

    08:42 min
  • 8
    El modo interactivo

    El modo interactivo

    08:04 min
  • 9
    Ciclo de vida de un contenedor

    Ciclo de vida de un contenedor

    07:34 min
  • 10
    Exponiendo contenedores al mundo exterior

    Exponiendo contenedores al mundo exterior

    08:20 min
  • 11
    Datos en Docker

    Datos en Docker

    10:34 min
  • 12
    Datos con Docker: Volumes

    Datos con Docker: Volumes

    08:51 min

Imágenes

  • 13
    Conceptos fundamentales de Docker: imágenes

    Conceptos fundamentales de Docker: imágenes

    09:54 min
  • 14
    Construyendo nuestras propias imágenes

    Construyendo nuestras propias imágenes

    09:34 min
  • 15
    Comprendiendo el sistema de capas

    Comprendiendo el sistema de capas

    07:54 min

Desarrollando con Docker

  • 16
    Usando docker para desarrollar aplicaciones

    Usando docker para desarrollar aplicaciones

    06:57 min
  • 17
    Reto

    Reto

    00:31 min
  • 18
    Entendiendo el cache de layers para estructurar correctamente tus imágenes

    Entendiendo el cache de layers para estructurar correctamente tus imágenes

    09:16 min
  • 19
    Docker networking: colaboración entre contenedores

    Docker networking: colaboración entre contenedores

    08:21 min

Docker compose

  • 20
    Docker-compose: la herramienta todo-en-uno

    Docker-compose: la herramienta todo-en-uno

    08:38 min
  • 21
    Trabajando con docker-compose

    Trabajando con docker-compose

    06:41 min
  • 22
    Docker-compose como herramienta de desarrollo

    Docker-compose como herramienta de desarrollo

    14:53 min

Docker Avanzado

  • 23
    Conceptos para imágenes productivas

    Conceptos para imágenes productivas

    11:17 min
  • 24
    Manejando docker desde un contenedor

    Manejando docker desde un contenedor

    09:41 min

Cierre

  • 25
    Cierre del curso

    Cierre del curso

    01:19 min
Tomar el examen del curso
    Yovanny Herrera escudero

    Yovanny Herrera escudero

    student•
    hace 7 años

    Qué es Docker?
    Docker Permite resolver problemas de construir, distribuir y ejecutar software en diferentes plataformas.

    Containarization: un estándar para llevar algo dentro. Agrupadores de procesos.

    • Versátiles:
      En el orden de los MB
      Tienen todas las dependencias que necesitan para funcionar correctamente.
      Funcionan igual en todos lados.
    • Eficientes:
      Comparten archivos simultáneos con otros contenedores.
      Solo se ejecutan procesos, no un SS.OO completo.
    • Aislados:
      Lo que pasa en el container queda en el container.
      No pueden alterar su entorno de ejecución (a menos que explícitamente se indique lo contrario)

    Virtualization: es una imagen o archivo que contiene información dentro. Por lo general son pesadas de administración costosa y son lentas.

    • Pesadas:
      En el orden de los GB
      Muchas VMs en el mismo host suelen repetirse en lo que contienen
      Administración costosa:
      Una VM tiene que ser administrada como cualquier otra computadora: patching, update, etc
      Hay que administrar la seguridad interna entre apps
    • Lentas:
      Correr nuestro código en una VM implica no solo arrancar aplicaciones, sino también esperar el boot de la VM en sí.
      Iván Toro

      Iván Toro

      student•
      hace 7 años

      Excelente resumen. 😄

      luis González

      luis González

      student•
      hace 7 años

      gran resumen muy bien explicado

    Enrique Devars

    Enrique Devars

    teacher•
    hace 6 años

    ¿Qué es Docker?

    Es un sistema que se maneja con contenedores, esto nos permite crear un estándar y aislamiento de los procesos.

    Maquinas virtuales

    Emulación de una computadora real, son muy costosas, son pesadas pues es un sistema operativo entero. Están en el orden de los Gb de uso.

    Para obtener mayor rendimiento hay que aumentar el hardware, además de que hay muy poca utilización en sus recursos.

    Contenedores

    Son agrupaciones de procesos que estan aislados, muy versátiles pues son muy ligeros, se manejan en Mb de uso.

    Mucho más eficientes pues comparten el sistema base en el que corre, pues no ejecutan un sistema operativo completo.

    Si fallan los procesos se quedan aislados y no se involucran con el entorno en el que se están ejecutando.

    !docker

      Carlos Enrique Ramírez Flores

      Carlos Enrique Ramírez Flores

      student•
      hace 6 años

      Guarde, la imagen! gracias por tu aporte!!

      Enrique Devars

      Enrique Devars

      teacher•
      hace 6 años

      Me da gusto que te haya servido :D

    William Schnaider Torres Bermon

    William Schnaider Torres Bermon

    student•
    hace 5 años

    Arquitectura Docker

    Arquitectura de maquina virtual

    Para conocer más sobre las semejanzas y diferencias entre cada arquitectura (de forma general y en ambientes windows) les recomiendo dar clic aquí.

    David Antonio Ordóñez Cornejo

    David Antonio Ordóñez Cornejo

    student•
    hace 6 años

    Empece a usar docker y pude borre 40GB de maquinas virtuales que tenia con vagrant, así que ahora estoy totalmente dedicado a aprender esta herramienta.

      Carlos Enrique Ramírez Flores

      Carlos Enrique Ramírez Flores

      student•
      hace 6 años

      Tomaste algun tutorial o que recursos usaste para eso? soy novato en esto del SR Docker!

      David Antonio Ordóñez Cornejo

      David Antonio Ordóñez Cornejo

      student•
      hace 6 años

      Solo con las clases de este curso y un poco de su documentacion, estoy super entusiasmado con docker y docker copose

    José Tuzinkievicz

    José Tuzinkievicz

    student•
    hace 7 años

    Contagia la pasión que le pone al contar las bondades. Necesito saber Docker ya!

    Ricardo Bobadilla

    Ricardo Bobadilla

    student•
    hace 6 años

    ¿Cuales son las ventajas y desventajas de combinar contenedores con virtualización? es decir, tener contenedores en un ambiente virtual.

      Alejandro Sanchez

      Alejandro Sanchez

      student•
      hace 6 años

      NI idea pero si se puede hacer

      Hinder Adrian Alvarez Perlaza

      Hinder Adrian Alvarez Perlaza

      student•
      hace 6 años

      En mi opinión eso estaría bien para empresas que necesiten administrar instancias diferentes para cada cliente y que además almacenen muchos archivos de transacciones.

    Jehison Pérez

    Jehison Pérez

    student•
    hace 6 años

    Esta perfecta la analogía, este man explica muy bien!!!

    Jehison Pérez

    Jehison Pérez

    student•
    hace 6 años
    • Una maquina virtual es una computadora corriendo dentro de otra computadora, tiene problemas:
      • Son pesadas, está en el orden de los GB.
      • Muchas MVs en el mismo host suelen repetirse en lo que contienen.
      • Son costosas de administrar, ya que una maquina virtual tiene los mismos problemas de una máquina física. Hay que hacerle parches de seguridad, actualizaciones, etc.
      • Hay que ocuparse de la seguridad interna entre las aplicaciones.
      • Son relativamente lentas, ya que la computadora tiene que inicializarse y se vuelve poco eficiente.
    • Docker lleva el mismo concepto de la industria de la logística internacional al software, con los contenedores.
    • Características de los contenedores:
      • No son maquinas virtuales, son agrupaciones de de procesos que están aislados del resto del mundo.
      • Son versátiles, esta por el oden de los MB.
      • Tienen todas las dependencias que necesitan para ejecutarse.
      • Funcionan igual en cualquier lado.
      • Son muchos más eficientes, porque los contenedores pueden compartir el sistema base que usan con otro contenedores, sin riesgos a que sean alterados, que uno modifique al otro.
      • Solo ejecutan procesos, no un sistema operativo completo.
      • Están aislados del mundo exterior. Todo lo que se rompe queda dentro del contenedor.
      • Entre las maquinas virtuales y los contenedores hay una enorme diferencia en utilización de recursos.
      Fredy Mendoza Vargas

      Fredy Mendoza Vargas

      student•
      hace 5 años

      👍👍👍👍

    Juan Pablo Calle García

    Juan Pablo Calle García

    student•
    hace 7 años

    Los contenedores no son maquinas virtuales, si no agrupaciones de procesos que están aislados del resto del mundo, se pueden imaginar como maquinas virtuales pero son muy distintos.

    Hanson Garzon

    Hanson Garzon

    student•
    hace 6 años

    Nos soluciona mucho la problemática del software ( construcción, ejecución y distribución) pero en ocasiones la construcción de dockercompose etc, es compleja, existe algún IDE de desarrollo orientado a docker, que nos guíe en la construcción de estos archivos?

    Roy Zambrano

    Roy Zambrano

    student•
    hace 7 años

    si tienen problemas instalando docker en Linux Mint Tessa, lo pueden instalar con la siguiente instrucción:

    sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ bionic \ stable"```
    Jesús Andrés Ovallos Ovallos

    Jesús Andrés Ovallos Ovallos

    student•
    hace 7 años

    Que locura esto!

    Agusitn Machiavello

    Agusitn Machiavello

    student•
    hace 7 años

    **Genial! ** Está buenísmo que se den esas analogías para poder entender o asociar a la realidad de uno que nunca había escuchado de estas herramientas!

      Agusitn Machiavello

      Agusitn Machiavello

      student•
      hace 7 años
      • Genial!
    Juan David Cajamarca Acuña

    Juan David Cajamarca Acuña

    student•
    hace 6 años

    MÁQUINA VIRTUAL Una computadora corriendo dentro de otra computadora. La ventaja de esta lógica es que se coge todo un entorno de ejecución, se empaqueta, se envía a otra computadora, se corre y se emula. Pero tiene sus problemas. Pesadas

    • En el orden de los GB - SO entero, muchas dependencias.
    • Muchas VMs en el mismo host suelen repetirse en lo que contienen - Mismo SO, mismas dependencias por cada VM (son independientes). Administración costosa
    • Una VM tiene que ser administrada como cualquier otra computadora: patching, updated, etc.
    • Hay que administrar la seguridad interna entre apps. Lentas
    • Correr nuestro código en una VM implica no sólo arrancar nuestras aplicaciones, sino también esperar el boot de la VM en sí. CONTENEDORES No son máquinas virtuales, son agrupaciones de procesos que están aislados del "resto del mundo". Nos los podemos imaginar como máquinas virtuales, pero son muy distintos. Versátiles
    • En el orden de los MB.
    • Tienen todas las dependencias que necesitan para funcionar correctamente.
    • Funcionan igual en cualquier lado. Eficientes
    • Comparten archivos inmutables con otros contenedores.
    • Sólo se ejecutan procesos, no un SO completo. Aislados
    • Lo que pasa en el contenedor queda en el contenedor.
    • No pueden alterar su entorno de ejecución (a menos que explícitamente se indique lo contrario).
    Wilson Fernando Antury Torres

    Wilson Fernando Antury Torres

    student•
    hace 6 años

    Docker (contenedores) :

    • Versátiles: En el orden de MB, tienen todas las dependencias para trabajar, función igual en cualquier lado.
    • Eficientes: Comparten archivos inmutables con otros contenedores, solo ejecutan procesos no un SO completo.
    • Aislado: Lo que pasa en el contenedor se queda en el contenedor, no se altera su entorno de ejecución.
    Sebastián Gonzalez Quintero

    Sebastián Gonzalez Quintero

    student•
    hace 5 años

    Este es un video de cómo vender docker. Guido explica de una forma super intuitiva y suficientemente detallada la funcionalidad de docker. El hecho de poder enviar exactamente todas las dependencias y poder ayuda a la portabilidad.

    Cabe aclarar que no se paga un precio por la portabilidad debido a que cada contenedor encapsula algo. La ejecución de distintos contenedores no se va a afectar entre sí y en caso de que algo se llegue a romper en un contenedor este no dañará la máquina en la que se ejecuta u otros contenedores.

    ¡El concepto de los contenedores es increíble!

    raymundo escobar

    raymundo escobar

    student•
    hace 7 años

    virtualizacion no es emulacion brother.

    Jerry hicks

    Jerry hicks

    student•
    hace 6 años

    Excelente ejemplos muy claros para entender el concepto detrás de Docker genial!

    Roy Zambrano

    Roy Zambrano

    student•
    hace 7 años

    No puedo visualizar el vídeo de la clase. ¿Como puedo reportar el problema?

      Mitchell Contreras

      Mitchell Contreras

      student•
      hace 7 años
      Captura
      En la parte izquierda de la pantalla, seguido de 'Descripción' se encuentra un botón que dice 'Reportar un problema'
      Paula Becerra

      Paula Becerra

      teacher•
      hace 7 años

      El problema con el video ya fue solucionado.

    Edilberto Medina

    Edilberto Medina

    student•
    hace 6 años

    Interesante!

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads