Gracias Fazt! Le tenia miedo a Docker, pero ya no, lo enseñas de una forma muy directa y muy pedagógica!! gracias!! Acabo de usarlo para el trabajo, y acabo de avanzar algo que era muy necesario. Mis saludos desde Argentina!!
Si alguien tuvo problemas cuando se ejecutaba el docker y arrojaba problemas con bin/sh/ . Pude solucionar esto con el siguiente cambio : Código inicial en DockerFile: RUN apk add --no-cache python3-dev \ && pip3 install --upgrade pip Reemplacé por : if [ ! -e /usr/bin/python ]; then ln -sf python3 /usr/bin/python ; fi && \ \ echo "**** install pip ****" && \ python3 -m ensurepip && \ rm -r /usr/lib/python*/ensurepip && \ pip3 install --no-cache --upgrade pip setuptools wheel && \ if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi Espero que sea útil para quien haya tenido el mismo problema que yo God Bless U
Qué bien!! Corto, conciso, práctico. Excelente contenido, como siempre. Felicitaciones y... muchas gracias! PD. Idea: Llevar sus cursos a Udemy (si todavía no lo ha hecho). Le aseguro que tendría muy buena acogida.
¡Excelente tuturial! Nota: en mi caso aparece un error cuando trato de ejecutar CMD ["python3", "src/app.py"]. Para que funcione debe ser CMD ["python3", "app.py"]
Excelente, podrías hacer un vídeo de docker pero en una app donde necesitamos ejecutar varios servidores? ejemplo una app con el stack MEAN (MONGODB, EXPRESS, ANGULAR, NODEJS), o con MYSQL como base de datos.
Muchas gracias por este tutorial. Ha sido muy didáctico y muy útil. Sí que sería útil hacer una app ejecutando distintos módulos y en varios servidores como ya apuntaba Ederson Marin. Gracias.
Fazt, eres el mejor, te puedo pedir un video de wordpress aunque no sea código, pero me resultó muy interesante, una herramienta llamada elementor, lógicamente puedes añadir css. Pero me gustaría que una persona como tú hablara de eso.
RROR: Could not find a version that satisfies the requirement apturl==0.5.2 (from -r requirements.txt (line 1)) (from versions: none) ERROR: No matching distribution found for apturl==0.5.2 (from -r requirements.txt (line 1)) ME SALE ESTE ERROR AYUDA
Hola! tal vez puedas ayudarme con lo siguiente, cada vez que intento accede a una web publicada con Flask el navegador me da bloqueo de CORS por mas que intente enviar los header correspondientes. Gracias
me aparece error al tratar de instalar pip : El término 'pip' no se reconoce como nombre de un cmdlet, función, archivo de script o programa ejecutable. Compruebe si escribió correctamente el nombre o, si incluyó una ruta de acceso, compruebe que dicha ruta es correcta e inténtelo de nuevo. En línea: 1 Carácter: 1 + pip install virtualenv + ~~~ + CategoryInfo : ObjectNotFound: (pip:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
No sé la imagen la ha hecho al principio pero el contenedor no lo hace, falla al instalar tantos requerimientos, podría ser que me hace un listado de todas las imágenes que tengo dentro? creó que si y por eso todas los requerimientos y si le digo pip freezer no mola, como puedo hacer pip freezer solamente para las imágenes que yo quiero? alquien me lo podría decir como saco los requerimientos de estas dos imágenes solamente? si podría cambiar los requerimientos manualmente pero no viene a cuento, porque como sé yo los requerimientos sin preguntar a pip
Como siempre, de lo mejor. Tengo una duda importante que no encuentro en ningún sitio. Podrías comentar por favor si tenemos una base de datos en sqlite con alchemy, que línea de código hay que incluir en el Docfile....
19:50 si en la instrucción COPY del Dockerfile escribes de forma estática '/app' como destino de la operación de copiado entonces la declaración de la instrucción WORKDIR no tiene objeto de ser. Si consideras la instrucción WORKDIR, la sentencia correcta en la instrucción COPY es 'COPY . .' // Dockerfile asume que el segundo punto alude la ubicación de destino la cual has pre seteado al declarar previamente el WORKDIR.
Tan solo tengo un ejemplo de Flask con React y Mongodb. pero voy a elaborar un ejemplo de Flask y vue para esta semana. Gracias por la recomendación :)
min 16:30 ""docker" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable." :(( habrá algo qur me falt a por instalar?
Me aparece el siguiente error, alguien me puede ayudar por favor? The command '/bin/sh -c pip3 --no-cache-dir install -r requirements.txt' returned a non-zero code: 1
Amigo, te dejo lo que me solucionó el problema: # Primero instala este paquete > python3 -m pip install pipreqs # Luego ejecuta este comando (Puse el punto porque ejecuté el código dentro del directorio del proyecto. Como parametro recibe la ruta del proyecto) pipreqs . --force La última linea te generará el archivo solamente con las librerías utilizadas en el proyecto y no con todo los paquetes que tienes instalados. Saludos
brou, tendrás algún tuto de como hacer la conexión flask a mysql en containers? Tengo problamas para que flask acceda a la BD de un container. yo puedo acceder a la base de datos desde cualquier IDE (lo que quiere decir que las credenciales están bien) Pero me he dado cuenta que sí quiero ejecutar el mysql del contenedor de manera iteractiva debo pasarle la bandera --protocol=tcp (incluso dentro del contenedor) porque el socket /var/run/mysqld/mysqld.sock no existe sino en la ruta /var/lib/mysql/mysql.sock con las conexiones a una base de datos en mi local no tengo problemas con flask, solo con los contenedores :C
Claro si le pongo los requerimientos manualmente pues si me hace el contenedor, pero como ejecuto yo pip freeze o mejor dicho como saco yo los requirimientos si tengo más images en el docker solamente para las imágenes que necesito es decir para la imagen que hecho y el systema operativo este llamado alpine, alguien me podría decir como ejecuto el comando en la terminal para poder hacer automáticamente el txt con los requerimientos?
Para los que les sale algun error al momento de ejecutar el comando: sudo docker build -t flaskapp . En el archivo de requirements.txt solo dejen el de Flask y en el dockerfile dejar estas dos ultimas lineas ENTRYPOINT ["python3"] CMD ["src/app.py"]
Yo pensé que con doker no necesitaba tener python en el sistema operativo qué solo necesitaba tener una imagen de python y correr en el contenedor pero parece que no funciona de esa manera
Muy tarde pero pueden hacer rapidamente la activacion del venv con este comando: ".\venv\scripts\activate" quitan las comillas y pueden activar rapidamente
Excelente vídeo, muy bien explicado Fazt. Tengo una duda enfocada al deploy de nueva versión del código... ¿Qué pasa cuando ya corriste el contenedor, y luego actualizas el código del proyecto Python (Flask)? Es decir, cómo se haría ese deploy de la nueva versión del código (lo ideal sería no volver a correr el contenedor)... ¿cómo le digo al contenedor que está corriendo que simplemente haga un PULL y actualice el código del proyecto Python? Explicado de otra manera Entendiendo que la imagen se crea solamente al inicio cuando arrancamos la versión proyecto APIREST Flask 0.0.1, ¿no es así? ...¿Qué pasos debo hacer cuando quiera actualizar mi versión del proyecto APIREST Flask 0.0.2?
Por que necesita el mio tantos? astroid==2.3.1 Click==7.0 colorama==0.4.1 Flask==1.1.1 isort==4.3.21 itsdangerous==1.1.0 Jinja2==2.10.3 lazy-object-proxy==1.4.2 MarkupSafe==1.1.1 mccabe==0.6.1 pylint==2.4.2 six==1.12.0 typed-ast==1.4.0 Werkzeug==0.16.0 wrapt==1.11.2
4 роки тому
Muchos de esos paquetes ya vienen por defecto cuando instalas algún otro componente. Pero el freeze te detecta incluso esos que vienen ya por defecto y que tú no habías pedido pero que al final la app necesita... Lo que podrías hacer es, cuando tú instalas algún componente, lo registras en el requirements.txt y no hacer el freeze.
Cuando creas tu propio contenedor, sí. Aunque también puedes descargar contenedores de la pagina DockerHub, usando: docker pull Docker Hub es como un github pero de los contenedores de Docker
Man al momento de ver este video te puedo decir que llevo unas 10 horas de vídeos de docker y por fin lo entiendo
Gracias Fazt! Le tenia miedo a Docker, pero ya no, lo enseñas de una forma muy directa y muy pedagógica!! gracias!! Acabo de usarlo para el trabajo, y acabo de avanzar algo que era muy necesario. Mis saludos desde Argentina!!
When pides un video y te lo suben que buen servicio.jpg gracias
Si alguien tuvo problemas cuando se ejecutaba el docker y arrojaba problemas con bin/sh/ . Pude solucionar esto con el siguiente cambio :
Código inicial en DockerFile:
RUN apk add --no-cache python3-dev \
&& pip3 install --upgrade pip
Reemplacé por :
if [ ! -e /usr/bin/python ]; then ln -sf python3 /usr/bin/python ; fi && \
\
echo "**** install pip ****" && \
python3 -m ensurepip && \
rm -r /usr/lib/python*/ensurepip && \
pip3 install --no-cache --upgrade pip setuptools wheel && \
if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi
Espero que sea útil para quien haya tenido el mismo problema que yo
God Bless U
El mejor canal para aprender. 1000% recomendable.
Excelente video!!! Como todos los que he visto de este canal. Muy bueno ese enfoque de desarrollarlo desde un punto de vista 100% práctico!!!
EXCELENTE VIDEO MUCHOS CONOCIMIENTOS Y MUY SIMPLE DE ENTENDER CON PYTHON GRACIAS Y MUCHOS LIKE FAZT CODE
Gracias! Directo al grano y todo claro... Like
Qué bien!!
Corto, conciso, práctico.
Excelente contenido, como siempre.
Felicitaciones y... muchas gracias!
PD. Idea: Llevar sus cursos a Udemy (si todavía no lo ha hecho). Le aseguro que tendría muy buena acogida.
Fatz... GRACIAS. Date un abrazo enorme, que por fin entiendo como demonios se trabaja con ellos. GRACIAS. ¿ He dicho gracias? Pues GRACIAS :)
Muchas gracias!! justo tengo que hacer algo con docker y flask, y me quedo como anillo al dedo este tutorial!
Grande Fazt! como siempre el mejor código al mejor estilo.
Muchísimas gracias, me sirvió para "dockerizar" mi app flask.
Muy muy bueno no sabía lo que era Docker pero con tu explicación pude entender muchas gracias
Muy bueno, simple y bien explicado, muchas gracias. 👾
He estado viendo varios de tus videos y explicas muy bien, quisiera programar como tú algún día. Saludos.
¡Excelente tuturial!
Nota: en mi caso aparece un error cuando trato de ejecutar CMD ["python3", "src/app.py"]. Para que funcione debe ser CMD ["python3", "app.py"]
parce hago los mismos pasos que hace este man exactamente y me manda un error
Todo es relativo, depende a la ruta en donde creaste el archivo Dockerfile
Excelente, podrías hacer un vídeo de docker pero en una app donde necesitamos ejecutar varios servidores? ejemplo una app con el stack MEAN (MONGODB, EXPRESS, ANGULAR, NODEJS), o con MYSQL como base de datos.
te recomiendo trabajar con docker+docker-compose, para manejar varios contenedores
Eso es Swarm o k8s
Excelente, el mejor video que vi al respecto! Te ganaste un sub :)
Muchas gracias por este tutorial. Ha sido muy didáctico y muy útil.
Sí que sería útil hacer una app ejecutando distintos módulos y en varios servidores como ya apuntaba Ederson Marin.
Gracias.
Excelente video la verdad me quedo muy claro el concepto sigue subiendo mas de docker , saludos desde Colombia
Genial Fazt exactamente lo que necesitaba.
Fazt, eres el mejor, te puedo pedir un video de wordpress aunque no sea código, pero me resultó muy interesante, una herramienta llamada elementor, lógicamente puedes añadir css. Pero me gustaría que una persona como tú hablara de eso.
Grande Fazt, como de costumbre tus tutoriales son de mucha ayuda!! :D
Este video es fantástico. Muchas gracias!!!
Increíble el vídeo amigo!!!
De grande quiero ser como tú.
Gracias, por tus conocimientos, que hice mio.
RROR: Could not find a version that satisfies the requirement apturl==0.5.2 (from -r requirements.txt (line 1)) (from versions: none)
ERROR: No matching distribution found for apturl==0.5.2 (from -r requirements.txt (line 1))
ME SALE ESTE ERROR AYUDA
Mostraras un ejemplo de despliegue en aws, digital ocean etc?
Hola! tal vez puedas ayudarme con lo siguiente, cada vez que intento accede a una web publicada con Flask el navegador me da bloqueo de CORS por mas que intente enviar los header correspondientes. Gracias
genial este video parce, le agradesco mucho.
suscrito, buen tutorial, fuera genial realices una aplicación con microservicios
Hola fazt, excelente video, tengo una consultica sobre cómo sería para usar un puerto COM desde el contenedor
Gracias por el tuto, me fue muy util
Gracias Fazt excelente video
me aparece error al tratar de instalar pip : El término 'pip' no se reconoce como nombre de un cmdlet, función, archivo de script o programa ejecutable. Compruebe si escribió correctamente el nombre o,
si incluyó una ruta de acceso, compruebe que dicha ruta es correcta e inténtelo de nuevo.
En línea: 1 Carácter: 1
+ pip install virtualenv
+ ~~~
+ CategoryInfo : ObjectNotFound: (pip:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
genial, muchas gracias por el video
No sé la imagen la ha hecho al principio pero el contenedor no lo hace, falla al instalar tantos requerimientos, podría ser que me hace un listado de todas las imágenes que tengo dentro? creó que si y por eso todas los requerimientos y si le digo pip freezer no mola, como puedo hacer pip freezer solamente para las imágenes que yo quiero? alquien me lo podría decir como saco los requerimientos de estas dos imágenes solamente? si podría cambiar los requerimientos manualmente pero no viene a cuento, porque como sé yo los requerimientos sin preguntar a pip
y esto solo lo puedo ver yo o cualquiera q sepa mi ip podría entrar? Creo q hice algo mal, la app me habre ventanas en mi pc y no en el contenedor
excelente video 10/10
Como siempre, de lo mejor. Tengo una duda importante que no encuentro en ningún sitio. Podrías comentar por favor si tenemos una base de datos en sqlite con alchemy, que línea de código hay que incluir en el Docfile....
Instalar python y pip me dio algunos problemas, yo use esta linea:
RUN apk add --no-cache --update python3 py3-pip
19:50 si en la instrucción COPY del Dockerfile escribes de forma estática '/app' como destino de la operación de copiado entonces la declaración de la instrucción WORKDIR no tiene objeto de ser. Si consideras la instrucción WORKDIR, la sentencia correcta en la instrucción COPY es 'COPY . .' // Dockerfile asume que el segundo punto alude la ubicación de destino la cual has pre seteado al declarar previamente el WORKDIR.
Gracias, me ayudó mucho!!
una consulta tengo varios .py para ejecutar y quiero elegir cual ejecutar una vez creado el contenedor. Como podría hacerlo?
Una duda, es necesario instalar alpine o podrìa instalar python directamente en mi contenedor? Gracias
Muy buen ejemplo. Gracias. Tendrás un video de una app Crud con vue y flask?
Tan solo tengo un ejemplo de Flask con React y Mongodb. pero voy a elaborar un ejemplo de Flask y vue para esta semana. Gracias por la recomendación :)
min 16:30 ""docker" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable." :(( habrá algo qur me falt a por instalar?
ua-cam.com/video/BK-C2RofmTE/v-deo.html , ahora he visto el enlace en la descipcion de instalacion de docker
Excelente como lo explicas!
Sos mi heroe
Buen tutorial!.Saludos desde Academia Web
Muy bueno 👏😁
Docker funciona como WSGI como gunicorn?
Tio fazt tio un ejemplo con django y docker
Me aparece el siguiente error, alguien me puede ayudar por favor?
The command '/bin/sh -c pip3 --no-cache-dir install -r requirements.txt' returned a non-zero code: 1
seguro que colocaste "FROM alpine:3.10"? a mi me daba ese error con la version mas reciente
@@sayavedra_sh4075 lo solucioné con el siguiente código: RUN apk add --no-cache python3-dev build-base libffi-dev \
&& apk add --no-cache py3-pip
@@sayavedra_sh4075 la clave es py3-pip
Amigo, te dejo lo que me solucionó el problema:
# Primero instala este paquete
> python3 -m pip install pipreqs
# Luego ejecuta este comando (Puse el punto porque ejecuté el código dentro del directorio del proyecto. Como parametro recibe la ruta del proyecto)
pipreqs . --force
La última linea te generará el archivo solamente con las librerías utilizadas en el proyecto y no con todo los paquetes que tienes instalados. Saludos
@@neuralytic Gracias amigo
La carpeta del entorno virtual también se sube al contenedor?? Porq??
brou, tendrás algún tuto de como hacer la conexión flask a mysql en containers?
Tengo problamas para que flask acceda a la BD de un container. yo puedo acceder a la base de datos desde cualquier IDE (lo que quiere decir que las credenciales están bien) Pero me he dado cuenta que sí quiero ejecutar el mysql del contenedor de manera iteractiva debo pasarle la bandera --protocol=tcp (incluso dentro del contenedor) porque el socket /var/run/mysqld/mysqld.sock no existe sino en la ruta /var/lib/mysql/mysql.sock
con las conexiones a una base de datos en mi local no tengo problemas con flask, solo con los contenedores :C
Funcionando 28/03/2024. Importante actualizar la ultima versión de python, sino tira errores al levantar la imagen.
Tengo el siguiente error al correr en windows "/bin/sh: pip3: not found" alguna idea de como solucionarlo?
cuando te sale ese error
has podido solucionarlo? tengo el mismo error
Excelente video... tal vez un complemento con un servidor nginx con reverse proxy y balanceo de carga para dos servidores php-fpm ?
Claro si le pongo los requerimientos manualmente pues si me hace el contenedor, pero como ejecuto yo pip freeze o mejor dicho como saco yo los requirimientos si tengo más images en el docker solamente para las imágenes que necesito es decir para la imagen que hecho y el systema operativo este llamado alpine, alguien me podría decir como ejecuto el comando en la terminal para poder hacer automáticamente el txt con los requerimientos?
Cooonnniooooo, pero gracias, que buena explicación.
Para los que les sale algun error al momento de ejecutar el comando: sudo docker build -t flaskapp .
En el archivo de requirements.txt solo dejen el de Flask y en el dockerfile dejar estas dos ultimas lineas
ENTRYPOINT ["python3"]
CMD ["src/app.py"]
me aparece /bin/sh: pip3: not found
gracias me funciono
@@luisalbertoparralescopca3418 no se pudo instalar el pip. Prueba reemplazando "&& pip3 install -upgrade pip" por "&& apk add py3-pip"
@@Code_Frank dos años tarde pero gracias!
tengo un error. un non-zero code: 1 a la hora de construir el dockerfile.
Como lo solucionaste??
Hola fazt porfa haz un deploy a heroku utilizando contenedores y flask saludos crack..
Genial saludos
interesante Fazt..... cuando te animas un video con el FM Asp Net Core
Yo pensé que con doker no necesitaba tener python en el sistema operativo qué solo necesitaba tener una imagen de python y correr en el contenedor pero parece que no funciona de esa manera
Como haria para debuguear?
Muchas gracias
A mi no se me general la carpeta Scripts y menos el .bat :(
muy buen tutorial! Alguien sabe por qué puede ser que al poner localhost:4000 en el navegador devuelve "ERR_CONNECTION_REFUSED"? Gracias!
El pip freeze no le muestra los paquetes necesarios
Muy tarde pero pueden hacer rapidamente la activacion del venv con este comando: ".\venv\scripts\activate"
quitan las comillas y pueden activar rapidamente
Excelente vídeo, muy bien explicado Fazt.
Tengo una duda enfocada al deploy de nueva versión del código... ¿Qué pasa cuando ya corriste el contenedor, y luego actualizas el código del proyecto Python (Flask)? Es decir, cómo se haría ese deploy de la nueva versión del código (lo ideal sería no volver a correr el contenedor)... ¿cómo le digo al contenedor que está corriendo que simplemente haga un PULL y actualice el código del proyecto Python?
Explicado de otra manera
Entendiendo que la imagen se crea solamente al inicio cuando arrancamos la versión proyecto APIREST Flask 0.0.1, ¿no es así?
...¿Qué pasos debo hacer cuando quiera actualizar mi versión del proyecto APIREST Flask 0.0.2?
Puedes usar un volumen para crear una especie de carpeta compartida entre el contenedor y la PC dónde ejecutas docker
grande men
Se puede hacer los mismo pero con pipenv en ves de virtualenv?
Se puede hacer lo mismo con cualquier modulo de Python: Pipenv , virtualenv, virtualenvwrapper, etc
Fazt podrias hacer tutoriales de babylonjs usando npm.
tuve que poner : from flask import Flask , jsonify
Yo pensaba el punto después del docker build era para indicar la ubicacion del Dockerfile
me sale un error en el primer flask
Aun sigo esperando tu curso de docker con python 😭
source venv/bin/activate -> Unix or MacOS
Por que necesita el mio tantos?
astroid==2.3.1
Click==7.0
colorama==0.4.1
Flask==1.1.1
isort==4.3.21
itsdangerous==1.1.0
Jinja2==2.10.3
lazy-object-proxy==1.4.2
MarkupSafe==1.1.1
mccabe==0.6.1
pylint==2.4.2
six==1.12.0
typed-ast==1.4.0
Werkzeug==0.16.0
wrapt==1.11.2
Muchos de esos paquetes ya vienen por defecto cuando instalas algún otro componente. Pero el freeze te detecta incluso esos que vienen ya por defecto y que tú no habías pedido pero que al final la app necesita... Lo que podrías hacer es, cuando tú instalas algún componente, lo registras en el requirements.txt y no hacer el freeze.
Pregunta de noob: Ese contenedor está almacenado localmente?
Cuando creas tu propio contenedor, sí. Aunque también puedes descargar contenedores de la pagina DockerHub, usando:
docker pull
Docker Hub es como un github pero de los contenedores de Docker
@@FaztCode Muchas gracias! Excelente material como siempre
ya hoy se fue de muy exagerado, esta ya pasado con e manejo dek tiempo,como si estubieras que de cagaras
Si tengo un servidor ubuntu no hace falta instalar alpine?
Muchas gracias por el video, todo muy bien explicado.