CursosEmpresasBlogLiveConfPrecios

Trabajando con docker-compose

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

    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

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

    Carlos Andrés Charris S

    student•
    hace 7 años

    Detener contenedores en docker-compose
    docker-compose down
    Para los contenedores y los borra incluyendo el network

    Entrar a un contenedor montado con docker-compose
    docker-compose exec <nombre del contenedor> bash
    Ej: docker-compose exec app bash

    Ver logs de los contenedores montados con docker-compose
    docker-compose logs
    Para filtrar:
    docker-compose logs <keyword>
    Ej: docker-compose logs app

    Ver el status de docker-compose
    docker-compose ps

    Ejecutar contenedores en segundo plano docker-compose
    docker-compose up -d
    No muestra el output
    -d = —detach Corre en segundo plano

      Gabriel Alfonso

      Gabriel Alfonso

      student•
      hace 7 años

      Entrar a un contenedor montado con docker-compose docker-compose exec nombre-servicio bash Ej: docker-compose exec app bash

      Felipe Jurado Murillo

      Felipe Jurado Murillo

      student•
      hace 6 años

      Creo que una pequeña correción, para entrar al contenedor, es el nombre del servicio y no el nombre del contedor!! Saludos

    Guido Arce

    Guido Arce

    student•
    hace 7 años

    Es posible detener contenedores sin borrarlos con
    docker-compose stop
    Esto detiene los contenedores pero no los borra, tampoco elimina los networks

    Paul Cortes

    Paul Cortes

    student•
    hace 6 años

    Comandos basicos docker-compose

    docker-compose comparte muchos comandos con docker tradicional como lo son:

    docker-compose up levanta los contenedores y arma la red según como este especificado en el archivo docker-compose.yaml

    docker-compose up -d hace lo mismo que el docker run -d para enviarlo al background el detach

    docker-compose exec [nombre_servicio] [comando] activa el modo interactivo en un servicio(contenedor)

    docker-compose logs [nombre_servicio] muestra los logs del servicio que dese

    docker-compose down este es un poderoso comando que hace que se destruyan los contenedores y se elimine la red creada por docker-compose

    Iván Toro

    Iván Toro

    student•
    hace 7 años

    Docker compose docs

    Cristian Camilo Perez Cardona

    Cristian Camilo Perez Cardona

    student•
    hace 6 años
    comandos de docker compose: >> docker-compose up -d => -d significa detach me quiero desatachar => del output Para mirar el estado de docker-compose >> docker-compose ps Ver los logs de un servicio >> docker-compose logs app Para entrar a un contendor >> docker-compose exec app bash Para eliminar todo lo de docker-compose o bajarlo: >> docker-compose down
    Freddy Castillo

    Freddy Castillo

    student•
    hace 6 años

    El comando docker-compose up es necesario ejcutar donde se encuentre al archivo yml?

      Ricardo Antonio Rodriguez Valdez

      Ricardo Antonio Rodriguez Valdez

      student•
      hace 6 años

      No es necesario puedes usasr rutas abolutas y/o directorios espefificos dentro de PWD.

      Kevin Morales

      Kevin Morales

      student•
      hace 6 años

      Si el archivo se encuentra en la misma carpeta donde estás ejecutando el comando no necesitas hacerlo. También puedes especificarle la ruta absoluta del archivo que quieres que se ejecute en caso de que tengas varios en una carpeta.

    Wilson Fernando Antury Torres

    Wilson Fernando Antury Torres

    student•
    hace 6 años
    • docker-compose up -d : inicia los servicios sin atarnos al output.
    • docker-compose ps : muestra los servicios corriendo.
    • docker-compose exec app bash : ejecuta el bash del contenedor.
    • docker-compose down : elimina todos los servicios, contenedores, redes.
    Alejandro Sanchez

    Alejandro Sanchez

    student•
    hace 6 años

    me esta gustando docker Lokitas !!

    Jose Miguel Diaz

    Jose Miguel Diaz

    student•
    hace 6 años

    Dentro de cada servicio podemos definir el nombre del contenedor que se crea con:

    container_name: <name>```
      Gonzalo Amador Hernández

      Gonzalo Amador Hernández

      student•
      hace 5 años

      asi es!!!! muchas GRACIAS!!!

    John Agudelo

    John Agudelo

    student•
    hace 6 años

    como es que no habia estudiado esto antes!!

      Alejandro Sanchez

      Alejandro Sanchez

      student•
      hace 6 años

      Igualmente

    Gilberto Pérez

    Gilberto Pérez

    student•
    hace 7 años

    Algunos de los comandos interesantes de docker-compose esta:
    docker-compose up -d --> para que muestre la salida sin los logs. docker-compose logs nombre_componente --> Veo los docker-compose exec nombre_component bash --> Entro a la linea de comando del contenedor y veo como esta compuesto, etc. docker-compose down --> Borra todos los servicios, las redes, los contenedores. TODO es bueno para ser ordenados.

    Hanson Garzon

    Hanson Garzon

    student•
    hace 6 años

    Para verificar eventos en tiempo real de logs puede agregar -f al comando de logs: docker-compose logs -f app

    César Augusto Sierra Mejía

    César Augusto Sierra Mejía

    student•
    hace 7 años

    En caso de querer subir varios contenedores en ambiente productivo se usaría docker-compose o se usa principalmente en ambiente de desarrollo ? lo pregunto principalmente para que queden conectados a una red.

      Diego Forero

      Diego Forero

      Team Platzi•
      hace 7 años

      Depende de lo que necesites, si solo necesitas tener un contenedor para tu aplicación puedes usar docker compose sin problema pero si tu app tiene muchas visitas probablemente necesitas tener varios contenedores corriendo tu app entonces debes usar docker swarm o kubernetes para orquestar todos los contenedores.

      CARLOS ENRIQUE CALDERON AGUILAR

      CARLOS ENRIQUE CALDERON AGUILAR

      student•
      hace 6 años

      Mmm no estoy tan de acuerdo con la respuesta de Diego, mi percepción es la siguiente:

      • Si vas a usar solo 1 contenedor probablemente sea muy fácil usar docker run directamente.
      • Si vas a requerir mas cosas en tu contenedor como redes o usar múltiples contenedores y conectarlos entre ellos docker-compose es una buena opción sobretodo si estas orquestando ambientes de desarrollo o aplicaciones web simples que no son criticas.
      • Swarm y Kubernetes son una excelente opción si a parte de requerir usar múltiples servicios tu aplicativo maneja operaciones criticas, requiere tener una cantidad mínima o nula de downtimes y tiene exigencias de multiples deploymentes en periodos cortos de tiempo y por lo tanto se idealiza cierto grado de automatización. Básicamente docker-compose también es un orquestador pero más limitado que kubernetes y swarm.
    DAVID EDUARDO BAEZ SANCHEZ

    DAVID EDUARDO BAEZ SANCHEZ

    student•
    hace 6 años

    Entendido

    sudo docker-compose up -d docker-compose ps docker-compose logs app docker-compose logs -f app
    Gustavo Saldivia

    Gustavo Saldivia

    student•
    hace 6 años

    alguien me dijo que no era recomendable usar docker compose para produccion, que mejor era kubernettes. Esto es cierto?

      Kevin Morales

      Kevin Morales

      student•
      hace 6 años

      Creo que eso depende mucho de tu aplicación, si es algo sencillo creo que puede bastarte con docker compose, pero si vas a escalar y se convierte en algo más complejo K8s sin duda te será

    Omar Juarez

    Omar Juarez

    student•
    hace 6 años

    Excelente clase. Mucho de lo que se vió no lo sabía.

    Roberto Galan

    Roberto Galan

    student•
    hace 6 años

    Entonces docker-compose es capaz de frenar y volver a correr un contenedor? Digamos a diferencia de docker run que al frenar el contenedor y volver a correr docker run crea un nuevo contenedor

      Kevin Morales

      Kevin Morales

      student•
      hace 6 años

      Si, es capaz de hacer eso :)

      Juan David Cajamarca Acuña

      Juan David Cajamarca Acuña

      student•
      hace 6 años

      Exacto.

    William Glaffo

    William Glaffo

    student•
    hace 6 años

    con el down y el up se destruye y regenera de forma facil, pero que pasa con el código tambien se borra si estaba dentro del contenedor, como podemos aislar el código de nuestras aplicaciones , para evitar perdidas

    Gedward Romo

    Gedward Romo

    student•
    hace 6 años

    Una duda, hay forma de asignar un nombre al conjunto de contenedores que ejecuto con docker compose? el fin es que al ejecutar "docker-compose down" solo mate al grupo de contenedores que indicaría. Excelente curso

      William Schnaider Torres Bermon

      William Schnaider Torres Bermon

      student•
      hace 5 años

      En la practica lo que he realizado es lo siguiente:

      1. Personalizo el nombre del archivo ".yml", por ejemplo: docker-compose-credit.yml o docker-compose-eureka-server.yml.
      2. Cuando voy bajar o subir los servicios utilizo la bandera -f (abreviatura de --file) para especificar el nombre del archivo ".yml".

      Mira este comentario, veo que hay una bandera -p que esta asociadoa lo que pregunta.

    Ivan Acosta

    Ivan Acosta

    student•
    hace 6 años

    Excelente clase!

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