Primeros pasos con Docker: instalación, comandos y ejecución básica
Clase 4 de 20 • Curso de Contenedores y Aplicaciones en la Nube con Google Cloud Platform
Resumen
¿Cómo configurar Docker en tu ambiente local o en Google Cloud?
Iniciar con Docker puede parecer intimidante, pero no es necesario. Puedes seguir estos pasos simples para configurarlo tanto en tu entorno local como en Google Cloud y empezar a explorar sus capacidades.
- Configurar Docker localmente:
- Visita la página web e instala Docker Desktop, disponible de manera gratuita. Esto instalará la línea de comando de Docker que utilizaremos.
- Utilizar Google Cloud:
- Crea una cuenta gratuita en Google Cloud Platform para aprovechar los $300 que ofrecen para experimentar sin costo.
- Accede a la consola en
console.cloud.google.com
. - Activa Cloud Shell y crea un nuevo proyecto si es necesario, para el cual el Project ID estará disponible en la parte superior de la consola.
¿Cómo verificar la instalación y disponibilidad de imágenes en Docker?
Verificar la instalación de Docker es fundamental para asegurarse de que todo esté en marcha. Incluso puedes empezar a explorar imágenes de contenedor disponibles.
-
Verificar la instalación de Docker:
- Usa el comando
docker --version
para verificar si Docker está instalado. Si todo está bien, deberías ver la versión instalada.
- Usa el comando
-
Consultar imágenes de contenedor:
- Ejecuta
docker images
para listar las imágenes que tienes localmente. Si es la primera vez que usas Docker, probablemente la lista esté vacía.
- Ejecuta
-
Ejecutar un contenedor Hello World:
- El comando
docker run hello-world
te ayudará a verificar que Docker pueda descargar y ejecutar imágenes correctamente.
- El comando
¿Cómo ejecutar una aplicación en Docker que no se termine rápidamente?
A menudo, necesitarás correr aplicaciones que permanezcan activas durante más tiempo.
-
Problemas con puertos ya en uso:
- Si al correr una aplicación te aparece un error sobre el puerto 80 ocupado, usa la bandera
-p
para mapear puertos diferentes, por ejemplo,docker run -p 8080:80
para mapear el puerto 8080 al puerto 80 del contenedor.
- Si al correr una aplicación te aparece un error sobre el puerto 80 ocupado, usa la bandera
-
Ejecutar aplicaciones persistentes:
- Usa la bandera
-d
para que la aplicación corra en segundo plano como un demonio.
- Usa la bandera
-
Ejemplo con Docker y un servidor:
- Puedes utilizar
docker run -d -p 8080:80 nginx
para ejecutar un servidor NGINX.
- Puedes utilizar
¿Cómo gestionar y limpiar imágenes y contenedores antiguos?
La gestión eficiente de contenedores e imágenes es clave para mantener un entorno ordenado y reactivo.
-
Listar y parar contenedores:
- Para ver contenedores corriendo, utiliza
docker ps
. - Usa
docker stop <nombre_del_contenedor>
para detener un contenedor en particular.
- Para ver contenedores corriendo, utiliza
-
Eliminar imágenes no utilizadas:
- Ejecuta
docker rmi <id_de_la_imagen>
para borrar imágenes que ya no necesites.
- Ejecuta
-
Listado de contenedores históricos:
- Usa
docker ps -a
para ver todos los contenedores que han corrido previamente, incluyendo aquellos que ya no están activos.
- Usa
¿Cómo crear y ejecutar imágenes de contenedor propias?
La creación de imágenes de contenedor a partir de tus propias aplicaciones puede parecer complicado, pero aquí te guiamos a través del proceso con un ejemplo usando Java y SpringBoot.
-
Crear un Dockerfile:
- Define un
Dockerfile
que especifica cómo construir tu imagen. Incluye instrucciones para compilar y ejecutar tu aplicación.
FROM maven:3-jdk-11 AS build WORKDIR /app COPY . . RUN mvn clean package FROM openjdk:11-jre-slim WORKDIR /app COPY /app/target/*.jar app.jar ENTRYPOINT ["java", "-jar", "app.jar"]
- Define un
-
Construir la imagen de contenedor:
- Usa
docker build -t mi_aplicacion:1.0 .
para construir tu imagen.
- Usa
-
Ejecutar la imagen de contenedor:
- Ejecuta tu aplicación con
docker run -p 8080:8080 mi_aplicacion:1.0
para correrla en un contenedor.
- Ejecuta tu aplicación con
Iniciar con Docker es una aventura emocionante que abre un mundo de posibilidades para la gestión de aplicaciones en contenedores. Asegúrate de familiarizarte con los comandos básicos y explorar la documentación oficial para profundizar tu conocimiento. ¡Sigue aprendiendo y experimentando con Docker, y verás cómo tus habilidades se expanden considerablemente!