Primeros pasos con Docker: instalación, comandos y ejecución básica

Clase 4 de 20Curso 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.

  1. 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.
  2. 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.

  1. 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.
  2. 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.
  3. Ejecutar un contenedor Hello World:

    • El comando docker run hello-world te ayudará a verificar que Docker pueda descargar y ejecutar imágenes correctamente.

¿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.

  1. 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.
  2. Ejecutar aplicaciones persistentes:

    • Usa la bandera -d para que la aplicación corra en segundo plano como un demonio.
  3. Ejemplo con Docker y un servidor:

    • Puedes utilizar docker run -d -p 8080:80 nginx para ejecutar un servidor NGINX.

¿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.

  1. Listar y parar contenedores:

    • Para ver contenedores corriendo, utiliza docker ps.
    • Usa docker stop <nombre_del_contenedor> para detener un contenedor en particular.
  2. Eliminar imágenes no utilizadas:

    • Ejecuta docker rmi <id_de_la_imagen> para borrar imágenes que ya no necesites.
  3. 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.

¿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.

  1. 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 --from=build /app/target/*.jar app.jar
    ENTRYPOINT ["java", "-jar", "app.jar"]
    
  2. Construir la imagen de contenedor:

    • Usa docker build -t mi_aplicacion:1.0 . para construir tu imagen.
  3. Ejecutar la imagen de contenedor:

    • Ejecuta tu aplicación con docker run -p 8080:8080 mi_aplicacion:1.0 para correrla en un contenedor.

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!