{"id":3419,"date":"2025-10-06T16:12:05","date_gmt":"2025-10-06T14:12:05","guid":{"rendered":"https:\/\/tecnologia.euroinnova.com\/introduccion-a-docker-aprende-a-contenerizar-tus-aplicaciones-paso-a-paso\/"},"modified":"2025-10-14T11:27:34","modified_gmt":"2025-10-14T09:27:34","slug":"introduccion-a-docker","status":"publish","type":"post","link":"https:\/\/tecnologia.euroinnova.com\/fr\/introduccion-a-docker","title":{"rendered":"Introduction \u00e0 Docker : Apprenez \u00e0 conteneuriser vos applications \u00e9tape par \u00e9tape."},"content":{"rendered":"<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">El desarrollo moderno de software ha evolucionado hacia entornos m\u00e1s \u00e1giles, portables y reproducibles. En este contexto, <strong>Docker<\/strong> se ha consolidado como una de las herramientas fundamentales para contenerizar aplicaciones, facilitando su despliegue y ejecuci\u00f3n en cualquier entorno sin conflictos de dependencias.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">A trav\u00e9s de esta gu\u00eda, aprender\u00e1s paso a paso c\u00f3mo usar Docker para contenerizar tus proyectos, ejecutar contenedores, trabajar con im\u00e1genes personalizadas y gestionar entornos de desarrollo y producci\u00f3n de forma eficiente. No necesitas conocimientos previos avanzados: este recorrido est\u00e1 pensado para acompa\u00f1arte desde los conceptos b\u00e1sicos hasta las pr\u00e1cticas m\u00e1s comunes del d\u00eda a d\u00eda con Docker.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Ya sea que quieras mejorar tus flujos de trabajo, preparar tu aplicaci\u00f3n para un entorno de producci\u00f3n o simplemente explorar c\u00f3mo funciona la tecnolog\u00eda que impulsa buena parte de la infraestructura actual en la nube, esta gu\u00eda es para ti.<\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"que-es-docker-y-por-que-se-ha-vuelto-tan-popular\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Qu\u00e9 es Docker y por qu\u00e9 se ha vuelto tan popular<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Docker es una plataforma de c\u00f3digo abierto que permite <strong>empaquetar aplicaciones y todas sus dependencias<\/strong> en contenedores ligeros, portables y consistentes. Estos contenedores pueden ejecutarse en cualquier sistema que tenga el motor de Docker instalado, sin importar el sistema operativo subyacente ni la configuraci\u00f3n del host.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">A diferencia de las m\u00e1quinas virtuales tradicionales, Docker no necesita un sistema operativo completo por cada instancia. En lugar de eso, utiliza el kernel del sistema operativo anfitri\u00f3n y a\u00edsla procesos en entornos separados, lo que reduce significativamente el consumo de recursos y acelera los tiempos de ejecuci\u00f3n.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Entre las razones que explican su popularidad:<\/p>\n<ul style=\"list-style-type: disc;\">\n<li style=\"margin-bottom: 0cm;\"><strong>Portabilidad:<\/strong> puedes desarrollar en tu equipo, probar en staging y desplegar en producci\u00f3n con la misma imagen.<\/li>\n<li style=\"margin-bottom: 0cm;\"><strong>Rapidez:<\/strong> los contenedores se crean y se destruyen en segundos.<\/li>\n<li style=\"margin-bottom: 0cm;\"><strong>Aislamiento:<\/strong> cada aplicaci\u00f3n funciona en su propio entorno, evitando conflictos entre dependencias o librer\u00edas.<\/li>\n<li style=\"margin-bottom: 0cm;\"><strong>\u00c9volutivit\u00e9 :<\/strong> se integra f\u00e1cilmente con sistemas de orquestaci\u00f3n como Kubernetes para escalar aplicaciones autom\u00e1ticamente.<\/li>\n<li style=\"margin-bottom: 0cm;\"><strong>Integraci\u00f3n continua:<\/strong> Docker se adapta muy bien a flujos DevOps modernos y herramientas como Jenkins, GitHub Actions o GitLab CI\/CD.<\/li>\n<\/ul>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Docker ha redefinido el desarrollo multiplataforma, eliminando el cl\u00e1sico \u201cen mi m\u00e1quina funciona\u201d.<\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"instalacion-y-primeros-pasos-con-docker\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Instalaci\u00f3n y primeros pasos con Docker<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Para comenzar a usar Docker en tu entorno local, lo primero es instalar el motor de Docker (Docker Engine) en tu sistema operativo. Docker est\u00e1 disponible para Windows, macOS y distribuciones Linux como Ubuntu, Fedora o Debian.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Aunque puedes encontrar paquetes espec\u00edficos para cada sistema, la forma m\u00e1s sencilla de empezar es a trav\u00e9s de\u00a0<a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop<\/a>, que incluye tanto Docker Engine como herramientas gr\u00e1ficas y de l\u00ednea de comandos \u00fatiles para gestionar contenedores.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"instalacion-basica-segun-tu-sistema-operativo\"><strong>Instalaci\u00f3n b\u00e1sica seg\u00fan tu sistema operativo<\/strong><\/h3>\n<ul style=\"list-style-type: disc;\">\n<li style=\"margin-bottom: 0cm;\">Windows y macOS: descarga Docker Desktop desde el sitio oficial. La instalaci\u00f3n es asistida, pero es necesario habilitar la virtualizaci\u00f3n en BIOS\/UEFI.<\/li>\n<li style=\"margin-bottom: 0cm;\">Linux (Ubuntu): puedes instalar Docker desde los repositorios oficiales con unos pocos comandos.<\/li>\n<\/ul>\n<p><span style=\"font-family: Consolas;\">sudo apt update<\/span><br \/>\n<span style=\"font-family: Consolas;\">sudo apt install docker.io<\/span><br \/>\n<span style=\"font-family: Consolas;\">sudo systemctl start docker<\/span><br \/>\n<span style=\"font-family: Consolas;\">sudo systemctl enable docker<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Una vez instalado, puedes comprobar que Docker est\u00e1 funcionando ejecutando:<\/p>\n<p><span style=\"font-family: Consolas;\">docker &#8211;version<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Esto deber\u00eda devolver la versi\u00f3n instalada del motor de Docker y confirmar que est\u00e1 operativo.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"primer-contenedor-el-clasico-hello-world\"><strong>Primer contenedor: el cl\u00e1sico \u201cHello World\u201d<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Para verificar que todo funciona correctamente, puedes ejecutar tu primer contenedor con:<\/p>\n<p><span style=\"font-family: Consolas;\">docker run hello-world<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Docker descargar\u00e1 autom\u00e1ticamente una imagen de prueba, la ejecutar\u00e1 y mostrar\u00e1 un mensaje de bienvenida. Si ves el mensaje en consola, significa que tu entorno est\u00e1 listo para contenerizar aplicaciones.<\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"conceptos-clave-imagenes-contenedores-y-dockerfile\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Conceptos clave: im\u00e1genes, contenedores y Dockerfile<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Para trabajar eficazmente con Docker, es fundamental comprender sus tres pilares b\u00e1sicos: <strong>im\u00e1genes<\/strong>, <strong>contenedores<\/strong> y el archivo <strong>Dockerfile<\/strong>. Estos conceptos forman la base sobre la que se construyen y despliegan las aplicaciones contenerizadas.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">A <strong>imagen de Docker<\/strong> es un paquete inmutable que contiene todo lo necesario para ejecutar una aplicaci\u00f3n: c\u00f3digo fuente, dependencias, librer\u00edas y configuraciones del sistema. Las im\u00e1genes son la plantilla a partir de la cual se crean los contenedores.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">A <strong>contenedor<\/strong> es una instancia en ejecuci\u00f3n de una imagen. Es un entorno aislado que ejecuta una aplicaci\u00f3n o proceso tal como fue definido en la imagen. Puedes tener m\u00faltiples contenedores corriendo desde una misma imagen, cada uno funcionando de forma independiente.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Por \u00faltimo, el <strong>Dockerfile<\/strong> es un archivo de texto que define c\u00f3mo se construye una imagen. En \u00e9l se especifican las instrucciones necesarias para crear el entorno deseado, como qu\u00e9 base utilizar, qu\u00e9 dependencias instalar y qu\u00e9 comandos ejecutar durante la construcci\u00f3n de la imagen.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"ciclo-basico-de-trabajo-con-docker\"><strong>Ciclo b\u00e1sico de trabajo con Docker<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">El flujo de trabajo habitual con Docker implica los siguientes pasos:<\/p>\n<ul style=\"list-style-type: disc;\">\n<li style=\"margin-bottom: 0cm;\">Escribir un Dockerfile que describa tu aplicaci\u00f3n y su entorno.<\/li>\n<li style=\"margin-bottom: 0cm;\">Construir una imagen con\u00a0<span style=\"font-family: Consolas;\">docker build<\/span> a partir de ese Dockerfile.<\/li>\n<li style=\"margin-bottom: 0cm;\">Crear y ejecutar contenedores desde esa imagen con\u00a0<span style=\"font-family: Consolas;\">docker run<\/span>.<\/li>\n<li style=\"margin-bottom: 0cm;\">Administrar contenedores e im\u00e1genes con comandos como\u00a0<span style=\"font-family: Consolas;\">docker ps<\/span>,\u00a0<span style=\"font-family: Consolas;\">docker stop<\/span>,\u00a0<span style=\"font-family: Consolas;\">docker rm<\/span> y\u00a0<span style=\"font-family: Consolas;\">docker rmi<\/span>.<\/li>\n<\/ul>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Estos conceptos te permitir\u00e1n comenzar a contenerizar tus propias aplicaciones y desplegarlas de forma eficiente y port\u00e1til.<\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"instalacion-de-docker-en-tu-sistema\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Instalaci\u00f3n de Docker en tu sistema<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Antes de comenzar a trabajar con contenedores, es necesario instalar Docker en tu sistema. El proceso es relativamente sencillo y est\u00e1 bien documentado para los principales sistemas operativos. A continuaci\u00f3n se indican los pasos generales para cada plataforma, aunque se recomienda seguir siempre la gu\u00eda oficial m\u00e1s actualizada.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"instalacion-en-windows-y-macos\"><strong>Instalaci\u00f3n en Windows y macOS<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Docker se instala en sistemas Windows y macOS a trav\u00e9s de <strong>Docker Desktop<\/strong>, una soluci\u00f3n todo en uno que incluye el motor de Docker, Docker CLI y una interfaz gr\u00e1fica \u00fatil para desarrolladores.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Para comenzar:<\/p>\n<ul style=\"list-style-type: disc;\">\n<li style=\"margin-bottom: 0cm;\">Accede a\u00a0<a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop<\/a> y descarga la versi\u00f3n correspondiente a tu sistema operativo.<\/li>\n<li style=\"margin-bottom: 0cm;\">Ejecuta el instalador y sigue los pasos del asistente.<\/li>\n<li style=\"margin-bottom: 0cm;\">Tras la instalaci\u00f3n, Docker se ejecutar\u00e1 autom\u00e1ticamente y estar\u00e1 disponible desde tu terminal.<\/li>\n<\/ul>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Puedes comprobar que la instalaci\u00f3n fue exitosa verificando la versi\u00f3n instalada:<\/p>\n<p><span style=\"font-family: Consolas;\">docker &#8211;version<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Tambi\u00e9n puedes ejecutar un contenedor de prueba para asegurarte de que todo funciona correctamente:<\/p>\n<p><span style=\"font-family: Consolas;\">docker run hello-world<\/span><\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"instalacion-en-linux\"><strong>Instalaci\u00f3n en Linux<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">En sistemas Linux, Docker se instala utilizando el gestor de paquetes de la distribuci\u00f3n correspondiente. A continuaci\u00f3n, se muestra un ejemplo para distribuciones basadas en Debian\/Ubuntu.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Pasos recomendados:<\/p>\n<ul style=\"list-style-type: disc;\">\n<li style=\"margin-bottom: 0cm;\">Abre una terminal y actualiza los paquetes del sistema.<\/li>\n<li style=\"margin-bottom: 0cm;\">Instala el paquete\u00a0<span style=\"font-family: Consolas;\">docker.io<\/span>, que incluye el motor de Docker.<\/li>\n<li style=\"margin-bottom: 0cm;\">Habilita y arranca el servicio de Docker.<\/li>\n<li style=\"margin-bottom: 0cm;\">A\u00f1ade tu usuario al grupo\u00a0<span style=\"font-family: Consolas;\">docker<\/span> para evitar el uso de\u00a0<span style=\"font-family: Consolas;\">sudo<\/span> en cada comando.<\/li>\n<\/ul>\n<p><span style=\"font-family: Consolas;\">sudo apt update<\/span><br \/>\n<span style=\"font-family: Consolas;\">sudo apt install docker.io<\/span><br \/>\n<span style=\"font-family: Consolas;\">sudo systemctl enable docker<\/span><br \/>\n<span style=\"font-family: Consolas;\">sudo systemctl start docker<\/span><br \/>\n<span style=\"font-family: Consolas;\">sudo usermod -aG docker $USER<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Despu\u00e9s de la instalaci\u00f3n, verifica que Docker est\u00e9 funcionando correctamente:<\/p>\n<p><span style=\"font-family: Consolas;\">docker run hello-world<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Esto ejecutar\u00e1 una imagen de prueba que imprimir\u00e1 un mensaje de bienvenida si todo est\u00e1 correctamente configurado.<\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"tu-primer-contenedor-con-docker\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Tu primer contenedor con Docker<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Una vez que Docker est\u00e1 instalado correctamente, el siguiente paso es lanzar tu primer contenedor. Esto te permitir\u00e1 verificar que la instalaci\u00f3n funciona y empezar a familiarizarte con los comandos b\u00e1sicos.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"ejecutar-un-contenedor-de-prueba\"><strong>Ejecutar un contenedor de prueba<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Docker permite ejecutar contenedores a partir de im\u00e1genes preconfiguradas disponibles en\u00a0<a href=\"https:\/\/hub.docker.com\/\" target=\"_blank\" rel=\"noopener\">Docker Hub<\/a>, el repositorio oficial de im\u00e1genes. Para realizar una prueba inicial, puedes usar la imagen\u00a0<span style=\"font-family: Consolas;\">hello-world<\/span>:<\/p>\n<p><span style=\"font-family: Consolas;\">docker run hello-world<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Este comando descarga la imagen\u00a0<span style=\"font-family: Consolas;\">hello-world<\/span> (si a\u00fan no est\u00e1 en tu sistema) y ejecuta un contenedor que muestra un mensaje de bienvenida. Es una forma sencilla y r\u00e1pida de confirmar que Docker est\u00e1 operativo en tu entorno.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"ver-y-gestionar-los-contenedores\"><strong>Ver y gestionar los contenedores<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Despu\u00e9s de ejecutar el contenedor de prueba, puedes consultar la lista de contenedores activos y finalizados usando:<\/p>\n<p><span style=\"font-family: Consolas;\">docker ps -a<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Este comando muestra todos los contenedores, tanto los que est\u00e1n en ejecuci\u00f3n como los que ya se han detenido. Si deseas liberar espacio eliminando los contenedores detenidos, puedes hacerlo con:<\/p>\n<p><span style=\"font-family: Consolas;\">docker container prune<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Este comando elimina todos los contenedores detenidos, lo que ayuda a mantener limpio tu entorno de trabajo.<\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"configurar-el-entorno-de-desarrollo-para-docker\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Configurar el entorno de desarrollo para Docker<\/strong><\/span><\/h2>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"configurar-el-entorno-de-desarrollo-para-docker\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Configurar el entorno de desarrollo para Docker<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Antes de comenzar a trabajar con Docker, es fundamental preparar correctamente el entorno de desarrollo. Esto implica instalar Docker en tu sistema operativo, verificar que todo funcione correctamente y familiarizarte con las herramientas b\u00e1sicas incluidas. A continuaci\u00f3n te guiamos paso a paso para dejarlo todo listo.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"instalar-docker-en-tu-sistema-operativo\"><strong>Instalar Docker en tu sistema operativo<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Docker ofrece instaladores para Windows, macOS y varias distribuciones de Linux. Para una experiencia completa, se recomienda instalar <strong>Docker Desktop<\/strong>, que incluye tanto el motor de Docker como una interfaz gr\u00e1fica y otras herramientas \u00fatiles como Docker Compose.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Aller \u00e0\u00a0<a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\" rel=\"noopener\">la web oficial de Docker Desktop<\/a> y descarga la versi\u00f3n correspondiente a tu sistema operativo.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Tras completar la instalaci\u00f3n, abre una terminal o consola de comandos y ejecuta una instrucci\u00f3n b\u00e1sica para asegurarte de que Docker se encuentra disponible:<\/p>\n<p><span style=\"font-family: Consolas;\"># Verificar que Docker est\u00e1 funcionando<\/span><br \/>\n<span style=\"font-family: Consolas;\">docker &#8211;version<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Si todo est\u00e1 bien configurado, ver\u00e1s un mensaje de bienvenida de Docker confirmando que est\u00e1 funcionando.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"verificar-version-y-configuracion-basica\"><strong>Verificar versi\u00f3n y configuraci\u00f3n b\u00e1sica<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Una vez instalado Docker, conviene verificar la versi\u00f3n instalada y revisar algunos par\u00e1metros b\u00e1sicos. Esto no solo te asegurar\u00e1 que la instalaci\u00f3n fue correcta, sino que tambi\u00e9n te servir\u00e1 para comprobar compatibilidad con otras herramientas o proyectos futuros.<\/p>\n<p><span style=\"font-family: Consolas;\"># Ver la versi\u00f3n instalada<\/span><br \/>\n<span style=\"font-family: Consolas;\">docker version<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Tambi\u00e9n puedes consultar informaci\u00f3n del sistema con:<\/p>\n<p><span style=\"font-family: Consolas;\"># Consultar configuraci\u00f3n del sistema<\/span><br \/>\n<span style=\"font-family: Consolas;\">docker info<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Con estas comprobaciones iniciales completas, ya estar\u00e1s listo para comenzar a contenerizar tus primeras aplicaciones.<\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"crear-tu-primer-contenedor-con-docker\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Crear tu primer contenedor con Docker<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Ahora que tienes Docker instalado, es momento de ejecutar tu primer contenedor. Un contenedor es una instancia aislada de una imagen que contiene todo lo necesario para ejecutar una aplicaci\u00f3n. Para este ejemplo, utilizaremos una imagen oficial de prueba que te permitir\u00e1 ver Docker en acci\u00f3n r\u00e1pidamente.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"ejecutar-un-contenedor-desde-una-imagen\"><strong>Ejecutar un contenedor desde una imagen<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Vamos a usar la imagen\u00a0<span style=\"font-family: Consolas;\">hello-world<\/span>, que est\u00e1 dise\u00f1ada espec\u00edficamente para probar que Docker funciona correctamente. Abre la terminal y ejecuta el siguiente comando:<\/p>\n<p><span style=\"font-family: Consolas;\"># Ejecutar imagen hello-world<\/span><br \/>\n<span style=\"font-family: Consolas;\">docker run hello-world<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Docker buscar\u00e1 la imagen localmente y, si no la encuentra, la descargar\u00e1 desde Docker Hub. Luego ejecutar\u00e1 el contenedor y te mostrar\u00e1 un mensaje de confirmaci\u00f3n en pantalla.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"listar-los-contenedores-creados\"><strong>Listar los contenedores creados<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Despu\u00e9s de ejecutar una imagen, puedes comprobar los contenedores que se han creado (aunque ya est\u00e9n detenidos) con este comando:<\/p>\n<p><span style=\"font-family: Consolas;\"># Ver lista de contenedores (incluso detenidos)<\/span><br \/>\n<span style=\"font-family: Consolas;\">docker ps -a<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Este listado te mostrar\u00e1 el ID del contenedor, su estado, nombre y otra informaci\u00f3n \u00fatil.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"eliminar-un-contenedor\"><strong>Eliminar un contenedor<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Si quieres eliminar un contenedor que ya no necesitas, puedes hacerlo con el siguiente comando, reemplazando\u00a0<span style=\"font-family: Consolas;\">ID_DEL_CONTENEDOR<\/span> por el ID correspondiente:<\/p>\n<p><span style=\"font-family: Consolas;\"># Eliminar un contenedor por ID<\/span><br \/>\n<span style=\"font-family: Consolas;\">docker rm ID_DEL_CONTENEDOR<\/span><\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"buscar-e-instalar-imagenes-desde-docker-hub\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Buscar e instalar im\u00e1genes desde Docker Hub<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Docker Hub es el repositorio oficial de im\u00e1genes Docker, donde puedes encontrar aplicaciones listas para usar. Desde all\u00ed puedes buscar im\u00e1genes de bases de datos, lenguajes de programaci\u00f3n, herramientas de desarrollo, y mucho m\u00e1s.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"buscar-imagenes-disponibles\"><strong>Buscar im\u00e1genes disponibles<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Para buscar una imagen desde la terminal, puedes usar el comando\u00a0<span style=\"font-family: Consolas;\">docker search<\/span> seguido del nombre de la imagen que te interesa. Por ejemplo, para buscar im\u00e1genes relacionadas con Node.js:<\/p>\n<p><span style=\"font-family: Consolas;\">docker search node<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Esto mostrar\u00e1 un listado con el nombre, descripci\u00f3n y n\u00famero de descargas de las im\u00e1genes disponibles.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"descargar-una-imagen\"><strong>Descargar una imagen<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Una vez localizada una imagen que quieres usar, puedes descargarla a tu sistema local con el comando\u00a0<span style=\"font-family: Consolas;\">docker pull<\/span>. Por ejemplo:<\/p>\n<p><span style=\"font-family: Consolas;\">docker pull node<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Esto descargar\u00e1 la \u00faltima versi\u00f3n disponible de esa imagen en tu equipo, lista para ejecutarse.<\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"ejecutar-contenedores-desde-una-imagen\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Ejecutar contenedores desde una imagen<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Una vez descargada una imagen, puedes crear y ejecutar un contenedor basado en ella usando el comando\u00a0<span style=\"font-family: Consolas;\">docker run<\/span>. Este comando crea una instancia activa de la imagen, es decir, un contenedor que se ejecuta de forma aislada con todos los recursos definidos en dicha imagen.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"ejecutar-un-contenedor-interactivo\"><strong>Ejecutar un contenedor interactivo<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Para iniciar un contenedor en modo interactivo (por ejemplo, acceder a una terminal de bash dentro del contenedor), puedes usar el siguiente comando:<\/p>\n<p><span style=\"font-family: Consolas;\">docker run -it ubuntu bash<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Esto abrir\u00e1 una terminal dentro del contenedor\u00a0<span style=\"font-family: Consolas;\">ubuntu<\/span> y te permitir\u00e1 ejecutar comandos como si estuvieras dentro de un sistema operativo separado.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"ejecutar-un-contenedor-en-segundo-plano\"><strong>Ejecutar un contenedor en segundo plano<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Si no necesitas una terminal interactiva, puedes ejecutar el contenedor en segundo plano (modo\u00a0<span style=\"font-family: Consolas;\">detached<\/span>) usando el flag\u00a0<span style=\"font-family: Consolas;\">-d<\/span>:<\/p>\n<p><span style=\"font-family: Consolas;\">docker run -d nginx<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Esto iniciar\u00e1 el contenedor con nginx y lo dejar\u00e1 ejecut\u00e1ndose en segundo plano.<\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"gestionar-contenedores-activos\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Gestionar contenedores activos<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Una vez que tienes contenedores en ejecuci\u00f3n, es fundamental poder gestionarlos: ver cu\u00e1les est\u00e1n activos, detenerlos, reiniciarlos o eliminarlos. Docker proporciona varios comandos para estas tareas b\u00e1sicas de administraci\u00f3n.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"listar-contenedores-en-ejecucion\"><strong>Listar contenedores en ejecuci\u00f3n<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Para ver los contenedores que est\u00e1n actualmente activos en tu sistema, puedes usar:<\/p>\n<p><span style=\"font-family: Consolas;\">docker ps<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Si quieres ver todos los contenedores (incluidos los detenidos), a\u00f1ade el flag\u00a0<span style=\"font-family: Consolas;\">-a<\/span>:<\/p>\n<p><span style=\"font-family: Consolas;\">docker ps -a<\/span><\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"detener-y-eliminar-contenedores\"><strong>Detener y eliminar contenedores<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Para detener un contenedor en ejecuci\u00f3n necesitas su ID o nombre. Luego puedes eliminarlo si lo deseas.<\/p>\n<p><span style=\"font-family: Consolas;\">docker stop nombre_o_id &amp;&amp; docker rm nombre_o_id<\/span><\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Esto detiene el contenedor indicado y lo elimina posteriormente.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Tambi\u00e9n puedes eliminar todos los contenedores detenidos con un solo comando:<\/p>\n<p><span style=\"font-family: Consolas;\">docker container prune<\/span><\/p>\n<h2 style=\"margin: 14.95pt 0cm 14.95pt 0cm;\" id=\"crear-imagenes-personalizadas-con-dockerfile\"><span style=\"font-family: 'Aptos',sans-serif; font-size: 18.0pt; line-height: 116%;\"><strong>Crear im\u00e1genes personalizadas con Dockerfile<\/strong><\/span><\/h2>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">Uno de los aspectos m\u00e1s potentes de Docker es la posibilidad de crear im\u00e1genes adaptadas a tus propias necesidades. Para ello se utiliza un archivo llamado\u00a0<span style=\"font-family: Consolas;\">Dockerfile<\/span>, que define paso a paso c\u00f3mo construir dicha imagen a partir de una base oficial y tus propios requisitos.<\/p>\n<h3 style=\"margin: 14.05pt 0cm 14.05pt 0cm;\" id=\"que-es-un-dockerfile\"><strong>Qu\u00e9 es un Dockerfile<\/strong><\/h3>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">A\u00a0<span style=\"font-family: Consolas;\">Dockerfile<\/span> es un archivo de texto plano que define una imagen personalizada a partir de otra existente (por ejemplo,\u00a0<span style=\"font-family: Consolas;\">python<\/span>,\u00a0<span style=\"font-family: Consolas;\">node<\/span>, etc.) e incluye todos los pasos necesarios para configurar el entorno de tu aplicaci\u00f3n: instalaci\u00f3n de dependencias, copiado de archivos, comandos de arranque, etc.<\/p>\n<p style=\"margin: 12.0pt 0cm 12.0pt 0cm;\">A continuaci\u00f3n se muestra un ejemplo b\u00e1sico de\u00a0<span style=\"font-family: Consolas;\">Dockerfile<\/span>:<\/p>\n<p><span style=\"font-family: Consolas;\"># Dockerfile b\u00e1sico para una app Python<\/span><br \/>\n<span style=\"font-family: Consolas;\">FROM python:3.11-slim<\/span><br \/>\n&lt;<\/p>","protected":false},"excerpt":{"rendered":"<p>El desarrollo moderno de software ha evolucionado hacia entornos m\u00e1s \u00e1giles, portables y reproducibles. En este contexto, Docker se ha [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1190,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3419","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categorizar"],"acf":[],"_links":{"self":[{"href":"https:\/\/tecnologia.euroinnova.com\/fr\/wp-json\/wp\/v2\/posts\/3419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tecnologia.euroinnova.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tecnologia.euroinnova.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tecnologia.euroinnova.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tecnologia.euroinnova.com\/fr\/wp-json\/wp\/v2\/comments?post=3419"}],"version-history":[{"count":0,"href":"https:\/\/tecnologia.euroinnova.com\/fr\/wp-json\/wp\/v2\/posts\/3419\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tecnologia.euroinnova.com\/fr\/wp-json\/wp\/v2\/media\/1190"}],"wp:attachment":[{"href":"https:\/\/tecnologia.euroinnova.com\/fr\/wp-json\/wp\/v2\/media?parent=3419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tecnologia.euroinnova.com\/fr\/wp-json\/wp\/v2\/categories?post=3419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tecnologia.euroinnova.com\/fr\/wp-json\/wp\/v2\/tags?post=3419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}