¿Qué es Docker?

Inicio » Desarrollo de software » ¿Qué es Docker?

Docker es una plataforma de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores.

Docker es una plataforma de software que utiliza la tecnología de contenedores para permitir el empaquetado, la distribución y la ejecución de aplicaciones de manera eficiente y portátil en entornos informáticos. Docker utiliza contenedores para encapsular aplicaciones y sus dependencias, incluidas las bibliotecas, archivos y herramientas necesarias para que la aplicación se ejecute de manera independiente.

Un contenedor es una unidad ligera y portátil que incluye todo lo necesario para ejecutar una aplicación, como el código, las bibliotecas y las dependencias.

Docker facilita la creación, distribución y ejecución de aplicaciones en entornos consistentes y aislados. Esto mejora la eficiencia del desarrollo y la implementación, ya que las aplicaciones empacadas en contenedores pueden ejecutarse de manera consistente en cualquier entorno que admita Docker.

¿Qué es un contenedor?

Un contenedor es una unidad ligera y portátil que incluye todo lo necesario para ejecutar una aplicación, haciéndola consistente y fácil de mover entre diferentes entornos. Son eficientes en recursos y proporcionan aislamiento para evitar conflictos entre aplicaciones

Los contenedores proporcionan un entorno aislado y consistente que garantiza que la aplicación funcione de la misma manera, independientemente del entorno de ejecución.

Docker permite empaquetar aplicaciones y sus dependencias en imágenes de contenedores. Una imagen de contenedor es un paquete ligero y autónomo que incluye todo lo necesario para ejecutar una aplicación, desde el código hasta las bibliotecas y los archivos de configuración.

Las imágenes de contenedores pueden distribuirse a través de repositorios, como Docker Hub, donde los desarrolladores pueden compartir y descargar imágenes públicas y privadas. Esto facilita la distribución y la colaboración en el desarrollo de aplicaciones.

Los siguientes conceptos son diferentes aunque en una aplicación real pueden usarse todos para desplegar tus aplicaciones:

  • Microservicios: Son una forma de diseñar y construir aplicaciones que promueve la modularidad, la independencia, la escalabilidad y la flexibilidad
  • Kubernetes: Es una herramienta poderosa para la gestión de contenedores y aplicaciones, que proporciona capacidades avanzadas de automatización, escalabilidad y gestión de recursos.
  • Docker: Es una herramienta que te permite gestionar y publicar contenedores.
  • Contenedores: Permiten que cualquier persona ejecute tu aplicación en su dispositivo sin importar el sistema operativo, el lenguaje de programación, etc.
  • Images: Plantilla para la creación de contenedores.
  • Volumes: Ayudan a persistir los datos que son creado dentro de un contenedor, esto debido a que si no se usa los datos se pierden cuando el contenedor se destruye, ya que son efímeros.
  • Dev Environments: Son entornos de producción que ayudan a reducir los riesgos de versiones entre los equipos.
  • Docker Scout: Es una herramienta para el monitoreo y gestión visual de los contenedores, permitiendo realizar acciones a través de una interfaz gráfica.

Ejemplo:

docker scout quickview <image_name>

Comandos útiles

docker --version
docker --help
docker info

Para comenzar necesitamos crear una imagen:

docker build -t website:latest .

Comandos para imágenes

Construir una imagen a partir de un archivo Dockerfile

docker build -t <nombre_de_imagen>

Construir una imagen desde un archivo Dockerfile sin la caché

docker build -t <nombre_de_imagen> . -no-cache

Listar imágenes locales

docker images

Eliminar una imagen

docker rmi <nombre_imagen>

Eliminar todas las imágenes no utilizadas

docker image prune

Comandos para contenedores

Crea y ejecuta un contenedor a partir de una imagen, con un nombre personalizado:

docker run --name <nombre_contenedor> <nombre_imagen>

Ejecutar un contenedor con y publicar un puerto(s) del contenedor al host.

docker run -p <puerto_host>:<puerto_contenedor> <nombre_imagen>

Ejecutar un contenedor en segundo plano

docker run -d <nombre_imagen>

Iniciar o detener un contenedor existente:

docker start|stop <nombre_del_contenedor> (o <id_del_contenedor>)

Eliminar un contenedor detenido:

docker rm <nombre_del_contenedor>

Abrir un shell dentro de un contenedor en ejecución:

docker exec -it <nombre_del_contenedor> sh
docker exec -it <nombre_del_contenedor> bash

Obtener y seguir los logs de un contenedor:

docker logs -f <nombre_contenedor>

Inspeccionar un contenedor en ejecución:

docker inspect <nombre_del_contenedor> (o <id_del_contenedor>)

Para listar los contenedores actualmente en ejecución:

docker ps

Listar todos los contenedores docker (en ejecución y parados):

docker ps --all

Ver las estadísticas de uso de recursos

docker container stats

Referencia: https://docs.docker.com/get-started/docker_cheatsheet.pdf


Publicado el

en

POR

CONTENIDO ETIQUETADO:

Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Otras categorías:

Patrocinadores:

Síguenos:

Salir de la versión móvil