CursosEmpresasBlogLiveConfPrecios

Comprendiendo el sistema de capas

Clase 15 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

    00:00 min

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

    Viendo ahora

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 examen

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
        Carlos Andrés Charris S

        Carlos Andrés Charris S

        student•
        hace 7 años

        Ver las capas o Layers de un contenedor

        docker history <tag contenedor>
        Ej: docker history ubuntu:platzi
        dive
        Dive nos permite ver en detalle las capas del contenedor, con las arrow key me puedo mover entre las capas, con tab me bueno dentro de los archivos y presionando la u nos muestra solamente los archivos o carpetas que fueron modificados o adicionados
        Los Layers son inmutables

          Kevin Rafael Santacruz Burgos

          Kevin Rafael Santacruz Burgos

          student•
          hace 7 años

          Correción: Dive permite ver el detalle de capas de una imagen.

          Saludos

          Jonathan Martinez Martinez

          Jonathan Martinez Martinez

          student•
          hace 5 años

          Gracias !

        Boris Vargas Paucara

        Boris Vargas Paucara

        student•
        hace 6 años

        Para instalar dive en windows 10: 1- descargar aqui 2- Lo copian en el disco C: o donde tengas en SO, en mi caso C:\Program Files\Dive 3- Adicionan la ruta al PATH del sistema, buscamos en el buscador editar las variables de entorno del sistema --> Variables de entorno --> Agregamos en Path --> C:\Program Files\Dive --> aceptar --> aceptar 4- Reabrimos la terminal, comprobamos: dive -v

          Luis Hernando Sarmiento Garzón

          Luis Hernando Sarmiento Garzón

          student•
          hace 6 años

          Muy claro, muchas gracias.

          Julian Andres Cañaveral Valencia

          Julian Andres Cañaveral Valencia

          student•
          hace 5 años

          muy claro

        Asdrubal Torres Camilo

        Asdrubal Torres Camilo

        student•
        hace 7 años

        Para instalar dive en windows 10: Windows 10: 1- https://github.com/wagoodman/dive/releases/download/v0.6.0/dive_0.6.0_windows_amd64.zip 2- Lo copian en el disco C: o donde tengas en SO 3- Adicionan la ruta al PATH del sistema.

          Jose Miguel Diaz

          Jose Miguel Diaz

          student•
          hace 6 años

          Muchas gracias! :)

        Wilson Fernando Antury Torres

        Wilson Fernando Antury Torres

        student•
        hace 6 años
        • Para comprender la estructura de sus capas podemos verlo desde el archivo Dockerfile. En hub.docker.com podemos ver éste archivo de las imágenes públicas.
        • Con el comando: docker history nombreImagen -> podemos ver información acerca de las capas de la imagen.
        • Con el flag “--no-trunc” del comando history podemos ver más detalles pero no es muy cómodo para ver la información.
        • Opción cómoda: https://github.com/wagoodman/dive
        • Las capas de docker son inmutables, cada cambio en la imagen se trata como una capa nueva.
          Santiago Valencia Valencia

          Santiago Valencia Valencia

          student•
          hace 5 años

          no comprendo como adicionar la ruta path, podrían ayudarme?

        Iván Toro

        Iván Toro

        student•
        hace 7 años

        Ubuntu/Debian

        wget https://github.com/wagoodman/dive/releases/download/v0.3.0/dive_0.3.0_linux_amd64.deb sudo apt install ./dive_0.3.0_linux_amd64.deb
        Rocio Chavoya

        Rocio Chavoya

        student•
        hace 6 años

        no se asusten, es muy feo :( jajaja

        Juan Carlos Gómez Samacá

        Juan Carlos Gómez Samacá

        company_admin•
        hace 7 años

        Hola Comunidad, me surge una pregunta, es recomendable usar docker para mysql en una aplicación en producción? Es posible que multiples contenedores de una imagen compartan el mismo volumen para almacenar la data de mysql? esto es optimo?

        Saludos y gracias de antemano por sus respuestas, soy nuevo en esto de docker y vi el ejemplo de mongodb y me surgio la duda con mysql, ya que en muchas de las apps que desarrollo uso mysql con django.

          Edwar Baron

          Edwar Baron

          Team Platzi•
          hace 7 años

          Hola, si es recomendable dockerizar cualquier aplicacion.

          Para el caso de base de datos, debe usarse un volument para la data.

          Cuando te refieres a que varios contenedores compartan el mismo volument de Mysql a contenedores de que tipo te refieres?

          1. Si son contenedores de aplicacion, deben es conectarse con el servicio de mysql, no tener acceso a su volument.
          2. Si son contenedores de mysql replicados, debe orquestarse como un cluster.
          Guido Vilariño

          Guido Vilariño

          teacher•
          hace 7 años

          Dejé una respuesta bastante completa en este comentario

        Yor Jaggy Castaño Pino

        Yor Jaggy Castaño Pino

        teacher•
        hace 6 años

        Tres Alternativas para ver el contenido de una imagen de docker:

        • usar commando docker history
          • contra: poco legible
        • encontrar el dockerfile en dockerhub
          • contra: vemos lo que contiene, mas no lo que se modifico con respecto a la anterior
        • usar dive
        Alejandro Sanchez

        Alejandro Sanchez

        student•
        hace 6 años

        Es obligatorio crear la imagen en este path /usr/src/hola-platzi

          Gabriel De Andrade

          Gabriel De Andrade

          student•
          hace 6 años

          Hola! Bueno, ahí no estás creando la imagen. Lo que estás haciendo es crear un archivo dentro de la imagen en esa ruta, es decir cuando tu haces el build de la imagen lo que se está haciendo es crear un archivo hola-platzi dentro de esa ruta y dentro del contexto de Docker.

        César Espitia

        César Espitia

        student•
        hace 6 años

        Me encantó la funcionalidad de dive para evaluar la eficiencia de la imagen docker y su gasto de espacio.

        $ CI=true dive ubuntu:platzi
        Selection_002.png
        FREDDY ANDRES LEMUS BARRERA

        FREDDY ANDRES LEMUS BARRERA

        student•
        hace 7 años

        Excelente clase

        Carlos Silva

        Carlos Silva

        student•
        hace 6 años

        Ayuda

        tengo ubuntu 19.04. Instale DIVE según las indicaciones de su página en GitHub.

        Al hacer dive ubuntu:platzi me sale este error:

        dive: error while loading shared libraries: libdevmapper.so.1.02: cannot open shared object file or directory

        José Tuzinkievicz

        José Tuzinkievicz

        student•
        hace 7 años

        Para comentar una línea en el Dockerfile se usa #

        # este es un comentario

        EDISON EDUARDO SANMIGUEL SANMIGUEL

        EDISON EDUARDO SANMIGUEL SANMIGUEL

        student•
        hace 5 años

        @gvilarino Guido cordial saludo, quisiera hacer la consulta si es posible una guia actualizada de estas practicas comprendidas entre los videos numero 15 al 20 de este curso "Fundamentos de Docker 2018" tengo Centos 7 y nada me ha funcionado con el dockerfile... Gracias!!!

          Nicolás Arias González

          Nicolás Arias González

          student•
          hace 5 años

          Podrías compartir tu dockerfile y screenshots de los errores que te salen? Así sería más fácil de diagnosticar los problemas y ayudarte.

          Adicionalmente podrías darle una mirada al curso más reciente de docker https://platzi.com/clases/docker/ es probable que del 2018 hayan cambiado cosas en la API y el contenido de este curso ya no aplique tan bien a versiones más recientes.

        Alejandro Martínez Valencia

        Alejandro Martínez Valencia

        student•
        hace 6 años

        Guido: "Las imágenes de los contenedores son como las cebollas" Alumno: "¿Apestan?" Guido: "Nooo. Capas, tienen capas." :P

        Joan Garcia

        Joan Garcia

        student•
        hace 6 años

        Para Windows 10 utilizando WSL ubuntu:18.04

        1. Bajar la imagen: docker pull wagoodman/dive
        2. Cuando se ejecute, deberá incluir el archivo de socket docke: docker run --rm -it
          -v /var/run/docker.sock:/var/run/docker.sock
          wagoodman/dive:latest ubuntu:platzi
          Luis Fernando Zarazua Aguilar

          Luis Fernando Zarazua Aguilar

          student•
          hace 5 años

          Esta forma si sirvió muy bien.

        Brayan Olarte

        Brayan Olarte

        student•
        hace 5 años

        Cada vez es mas interesante este curso.

        ajpy 08

        ajpy 08

        student•
        hace 7 años

        Buenísimo che…

        Bryan Antonio Alvarado Villalobos

        Bryan Antonio Alvarado Villalobos

        student•
        hace 6 años

        Una excelente herramienta

        Freddy Castillo

        Freddy Castillo

        student•
        hace 6 años

        Puedo retornar a un layer anterior?