Fecha: June 30, 2023

Tema:

Recordar

Docker: Es una plataforma de codigo habierto que te permite encapsular toda una aplicaciones con sus librerias, dependencias y condifguracion del sistema. Esto permite la portabilidad de la app para poder funcionar en otros entornos, sistemas operativos o maquinas virtuales

Notas

Para hacer un contenedor de nuestro proyecto, necesitamos dos archivos para configurar el contenedor y hacerlo funcionar:

Como dockerizar nuestro proyecto:

En tu proyecto primero tienes que definir las intrucciones de tu imagen del contenedor en un archivo Dockerfile, y si tienes multipres contenedores en tu proyecto puedes agregar el archivo docker-compose.yml. Un ejemplo seria con la carpeta replitCharts(App):

###Dockerfile###
FROM python:3.8  #Define que la imagen base del contenedor sera la imagen predeterminada de Python
WORKDIR /app  #Este es el directorio del conedor, donde se ejecutaran los archivos y comandos siguientes
COPY requeriments.txt /app/requeriments.txt #Copiara el archivos de las dependencias al contenedor
RUN pip install --no-cache-dir --upgrade -r /app/requeriments.txt #Corre 'pip install' dentro del contenedor para descargar las dependencias
COPY ./ /app/  #Copiara todos los archivos del directorio actual al contenedor
CMD bash -c "while true; do sleep 1; done" #Cuando se inicie el contenedor, con el bucle infinito hara que permanezca activo el contenedor
###docker-compose.yml###
services:
  app-csv:
    build:
      context: .  #El contexto de nuestro contenedor esta en el directorio actual
      dockerfile: Dockerfile #Utiliza la imagen ta creada en el Dockerfile
    volumes:
      - .:/app  #Crea un volumen que vincula el directorio actual con el del contenedor.
                #Esto hace que se reflejen los cambios en tiempo real en nuestro contenedor

Antes de todo esto debes tener Docker Desktop instalado con la opcion de Servicios de Ubuntu habilitada

Ahora construiremos el contenedor con este comando. Acuerdate de actualizar tu archivo requeriments.txt antes de hacer esto. docker-compose build , aqui ya construimos el contenedor, ahora para lanzarlo y que se active ponemos docker-compose up -d, ahora para entrar a nuestro contenedor utilizar docker-compose exec app-csv(Nombre de tu contenedor) bash . Si queremos salir de contenedor dentro de la bash usamos el comando exit. Para parar de correr el contendor ponemos docker-compose down

<aside> 📌 RESUMEN: Docker sirve para encapsular todo lo necesario que una aplicacion necesita, para que pueda funcionar en otros entornos, maquinas virutales, en la web etc…

</aside>