No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Mejorando mi Dockefile

11/19
Recursos

Aportes 22

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

El profesor explica todo muy detallado, no da nada por sentado, muy buen curso para iniciarse en docker.
Que buena la energía que transmite este profesor al enseñar, seria genial tener mas cursos con el.
**Explicación de instrucciones especificadas en el archivo Dockerfile:** * WORKDIR = ubicacion donde se creara la aplicacion * COPY = copiar archivo local al entorno docker * RUN = ejecutar un comando dentro del contenedor * COPY . . = copiamos los fuentes dentro del WORKDIR especificado * CMD = ejecutar comando sh
Despues de 30 min, entendí que debía instalar flask primero, para poder correr la primera parte del ejemplo, debes tener instalado: * python * flask * Debes crear un entorno virtual con este comando: python **-m venv venv** * Luego entrar en el entorno virtual: **/venv/bin/activate** (si utilizas Mac o Linux) o ***venv\Scripts\activate*** (si utilizas Windows). * Luego instalas flask con: **pip install Flask** y recien ahí es que puedes correr el "python -m flask run" Todo esto asumiendo que diera un error como este "python.exe: No module named flask". ahora seguiré viendo la clase . (tenia como 3 semanas de abandono del curso porque me había quedado pegado ahí XD)
No se hizo deploy del api con docker
¡Hola! Me ha encantado el curso. De verdad que explicas muy bien y aprecio muchísimo que hayas explicado los fundamentos tanto con la CLI como con Docker Desktop **PD:** Soy usuario y fan de linux también :D
Es la primera vez que utilizo flask pero ya tenía instalado Python, tengo WSL (Windows Subsystem for Linux) y VSC. Para poder correr la API (1'35'' del video), utilicé los siguientes comandos en la terminal de WSL: ```js ## dirigirte al directorio correspondiente para instalar flask cd clase_11 ## para instalar python apt install python3.10-venv ## para crear el entorno python3 -m venv .venv ## para instalar flask pip install Flask ## para correr flask python3 -m flask run ```
Dejaré por aquí algunos comando útiles para el Dockerfile: `## Dockerfile` `- Especifica la imagen base desde la cual se construira la imagen:` `FROM image:tag` `- Establece el directorio de trabajo dentro del contenedor. Las instrucciones siguientes se ejecutarán en este directorio:` `WORKDIR /path/to/workdir` `- Copia archivos o directorios desde el sistema de archivos local al sistema de archivos del contenedor:` `COPY <local> <remote>` `- Ejecuta comandos durante la construcción de la imagen. Puedes usarlo para instalar paquetes, configurar el entorno.... :` `RUN command` `example: RUN npm install` `- Proporciona el comando predeterminado a ejecutar cuando el contenedor se inicia:` `CMD ["executable", "param1", "param2"]` `example: CMD ["npm", "run", "dev"]` `- Informa a Docker que la aplicación dentro del contenedor escuchará en el puerto especificado en tiempo de ejecución:` `EXPOSE port` `- Establece variables de entorno dentro del contenedor:` `ENV key=value` `- Crea un punto de montaje para almacenar datos persistentes fuera del contenedor:` `VOLUME ["/data"]`
Cual es la diferencia entre RUN y CMD? No logro dsitinguirla
Que gran profesor, había visto otros cursos pero jamás uno como este, muy bien detallado.
Si yo tuviese un framework, cuyo lenguaje principal es NodeJs, pero contiene scripts en Python, qué imagen principal debo seleccionar? es posible seleccionar más de una imagen??
Para crear la imagen y después hacer el build utilicé los siguientes comandos ```js docker build -t api_python:latest ./ docker run -it --rm -d -p 8085:5000 --name api api_python ``` Tuve un problema con el puerto que comunica el contenedor a la aplicación (el segundo puerto), a diferencia de la página web, que nginx utiliza el puerto 80, flask utiliza por defecto el puerto 5000, por lo que si se quiere utilizar los puertos 8085:80 flask arrojara un error, ya que con el puerto 8085 el local se comunica al contenedor (Funciona siempre y cuando no estes ocupando ya ese puerto) y despues el contenedor intenta comunicarse al puerto 80 lo cual no tendrá nada ya que Flask está en el 5000.
No es por nada, pero que curso tan genial y el profesor tiene muy buena vibra y explica muy bien. Me preguntaba cuando podría hacer esto con mi API en Django Rest Framework y ahora lo pude hacer sin ningún problema.
El curso es muy bueno, el profesor tiene el don de explicar, si tienes otro curso mas avanzado de docker, escribe cual es, para que podamos seguirlo.
La fuente es muy chica!
I wanted to do this excercise with react so here you have the instructions: `###REACTFROM ` `node:18-alpineWORKDIR /react-docker-example/` `###Where your code resides` `COPY public /react-docker-example/publicCOPY src /react-docker-example/srcCOPY package.json /react-docker-example/` `RUN npm installCOPY . .` `##There can only be one ` `CMD instruction in the Dockerfile.CMD [ "npm", "start"]` Thank you teacher for the amazing course.
I wanted to do this excercise with react so here you have the instructions: `###REACTFROM node:18-alpineWORKDIR /react-docker-example/` `###Where your code residesCOPY public /react-docker-example/publicCOPY src /react-docker-example/srcCOPY package.json /react-docker-example/` `RUN npm installCOPY . .##There can only be one CMD instruction in the Dockerfile.CMD [ "npm", "start"]` Thank you teacher for the amazing course.
Como hace para que autocomplete o te indique mas o menos que colocar en el visualcode? que ante de colocar veo al mister le aparece sugerencia de autocompletado
Asi configuré la subida de la API de Flask a un contenedor Docker de la siguiente manera: * Primero, le indiqué a Flask cuál archivo contiene la aplicación con ENV FLASK\_APP=app.py. * Luego, agregué el comando CMD \["flask", "run", "--host=0.0.0.0"] en el Dockerfile para ejecutar Flask y hacerlo accesible desde cualquier interfaz de red, algo que encontré en un flujo de GitHub Actions. * Después, construí la imagen Docker con docker build -t apiweb:latest ., donde le asigné el nombre apiweb:latest. * Finalmente, creé y ejecuté el contenedor con docker run -it --rm -d -p 8080:5000 --name apiweb apiweb:latest, exponiendo la API en el puerto 8080 de mi máquina local. ```js FROM python:3.12-alpine3.19 WORKDIR /app COPY requirements.txt requirements.txt RUN pip install -r requirements.txt COPY . . ENV FLASK_APP=app.py CMD ["flask", "run", "--host=0.0.0.0"] ```FROM python:3.12-alpine3.19 WORKDIR /app COPY requirements.txt requirements.txtRUN pip install -r requirements.txt COPY . . ENV FLASK\_APP=app.py CMD \["flask", "run", "--host=0.0.0.0"]
Tengo dudas al minuto 1:49. No me devolvio la info con la IP local
No entendi porque el profe puso COPY . . SI ya lo estamos haciendo arriba.

Estoy amando este curso, apenas lo termine espero encontrar uno de Python del mismo profe