Containerizing Python web apps with Docker, Flask, Nginx & uWSGI

  Рет қаралды 134,626

Julian Nash

Julian Nash

Күн бұрын

Tutorial - pythonise.com/feed/flask/buil...
In this video, we'll be building a basic Flask web application using Docker, Nginx and uWSGI, along with learning some of the basic concepts of Docker and Docker compose
Enjoying this type of content? Head over to my website at pythonise.com for full length text based tutorials, courses and guides.
Want to help me make even better content? You can by supporting me on Patreon! / juliannash

Пікірлер: 195
@ericli8461
@ericli8461 4 жыл бұрын
Very awesome tutorial!! I have checked over many online docs or videos regarding dockerizing the flask & nginx application. Yours is by far the most easy-to-follow and clearly structured one. Thanks!
@subhadippahari1244
@subhadippahari1244 4 жыл бұрын
nothing to say, except mind-blowing content and teaching style. I try to find this for weeks, at last, got it. keep it up, man.
@felixmeyer4360
@felixmeyer4360 4 жыл бұрын
Such an amazing video! just spent 3 hrs banging my head against the wall with apache and I love this process!
@experimental_av
@experimental_av 4 жыл бұрын
hey thanks for the tutorial. i was running into issues with my project and looked at a couple of step by step instructions and yours really stands out as the best.
@acortis
@acortis 5 жыл бұрын
Hello there, great videos (saw the entire series), definetely underrated channel. Keep it up bro.
@juansidberry4422
@juansidberry4422 3 жыл бұрын
This is GREAT. You have explained what a developer would actually do step by step to get an app to containerization and production. I can now containerize my applications logically and simply in a very structured manner. THANK YOU! I will now watch the rest of your videos. Really appreciate your work here. Please keep sharing.
@bostevens236
@bostevens236 3 жыл бұрын
I really like how you kept it basic, and EXPLAINED the basics. Well done!
@davidmakowka922
@davidmakowka922 3 жыл бұрын
This is what you do to get new subscribers. Wish everyone would keep this level of quality of videos. Really like your content
@houmie
@houmie 4 жыл бұрын
Amazing tutorial. To the point, without making it sound too complicated.
@tironxxx
@tironxxx 2 жыл бұрын
Best guides on "Flask" topics on "KZfaq". Thank you.
@golfstallion1354
@golfstallion1354 2 жыл бұрын
This was a very useful video. It got me up and running in docker and docker-compose. Thank you for sharing Julian.
@jussivisapaa1826
@jussivisapaa1826 2 жыл бұрын
Thanks for this great tutorial! - Straight forward in a good speed. Solved some of my issues with docker/flask
@dshefman
@dshefman 3 жыл бұрын
I too have been trying to find this kind of content for weeks! Thank you.
@sainbayarbattur4348
@sainbayarbattur4348 3 жыл бұрын
Brilliant series of videos. I certainly wish I’d found them earlier! Thanks very much.
@ram1879
@ram1879 3 жыл бұрын
Excellent video!! I'm trying to add pulling code from GitHub in the compose file. Thank you so much for getting me started. I was able to build my fully working flask app using mysql as the back end in less than 2 minutes. So that is db, app and nginx in less than 2 minutes! Thank you!
@Virdevir
@Virdevir 3 жыл бұрын
Outstanding video ! Thank you! Looking forward for new videos.
@SamAndrew27
@SamAndrew27 2 жыл бұрын
Best Docker & Flask tutorial I've found! Thanks dude :D
@hotharvey2
@hotharvey2 3 жыл бұрын
on par with the legend Corey Schafer here. Really helped me nail the overall idea and implementation of docker-compose. Will be donating to you once I get a job lol
@DorZ1983
@DorZ1983 2 жыл бұрын
Best tutorial video I've watched on these subjects. thank you for that.
@zenahrb8316
@zenahrb8316 4 жыл бұрын
got yourself a new sub. Absolutely stunning delivery!
@ramaswamym7309
@ramaswamym7309 5 жыл бұрын
Thank you so much Julian. It's extremely helpful for me to understand the overall concept. Keep rocking bro :-)
@dannisisgt
@dannisisgt 3 жыл бұрын
Thanks Julian, I watch once and then another time your videos, it help me so much with because they are very informative and fundamentals, I tried to run this example and I found an issue with uwsgi installation in python3.8, after read many blogs finally found a workaround, we can install the module pyuwsgi, please continue with your videos
@joaovictorpereirarocha33
@joaovictorpereirarocha33 4 жыл бұрын
Great Tutorial. I learned a lot of things. Thanks!
@whereisyourjohnie4026
@whereisyourjohnie4026 4 жыл бұрын
This is a really clear tutorial! Thanks!
@eli.malka.youtube
@eli.malka.youtube 2 жыл бұрын
Julian thanks for the video puts things into order.
@fortis-lt
@fortis-lt 4 жыл бұрын
You help me well! Thank you for the guide!
@davidpaez_co
@davidpaez_co 4 жыл бұрын
17:50 "Building an image" was actually correct. You first build an image and then create and run a container based on that image. Great tutorial. Thank you Julian
@rasanjayasubasinghe2454
@rasanjayasubasinghe2454 2 жыл бұрын
@Julian, Very awesome tutorials and hope you will start continue with the new content.
@Ignalvarez
@Ignalvarez 4 жыл бұрын
Great job Julian!
@joc0n647
@joc0n647 Жыл бұрын
That saved my life. Great Tutorial
@roberthmejias
@roberthmejias 4 жыл бұрын
Awesome!!! its so great, this one works for me ... thanks so much
@vasylcf
@vasylcf 4 жыл бұрын
Thanks, good guide and clear explanation )
@donaldstrubler3870
@donaldstrubler3870 4 жыл бұрын
Outstanding explanation.
@leemerchant9231
@leemerchant9231 3 жыл бұрын
Seriously good video. Thanks!
@scoa_dev8551
@scoa_dev8551 3 жыл бұрын
Loved this vid. Thanks!
@solrachincapie
@solrachincapie 2 жыл бұрын
Excelente Julian... Muchas gracias me ayudaste bastante...
@akramsystems
@akramsystems 8 ай бұрын
Keep up the amazing work
@muhammad.rafi2012
@muhammad.rafi2012 3 жыл бұрын
simply awesome , thanks for sharing
@angshumanbardhan3729
@angshumanbardhan3729 2 жыл бұрын
Thank You for making this video
@gauravshah8554
@gauravshah8554 2 жыл бұрын
Thanks for the great tutorial.
@kevinmbtbass
@kevinmbtbass 5 жыл бұрын
Extremely helpful! Would you be interested in making a video on implementing TLS with this kind of architecture?
@guilhermeoliveira5499
@guilhermeoliveira5499 4 жыл бұрын
AAwesome! Thank you! Helped me a lot!
@danielstadler3390
@danielstadler3390 4 жыл бұрын
I subscribed because you are criminally under-subbed. Excellent tutorial.
@bhupenderbhardwaj6991
@bhupenderbhardwaj6991 Жыл бұрын
Great content always!!
@huitangtt
@huitangtt 4 жыл бұрын
Great tutorial! I love it and helped me a lot~~~
@drakhlur1
@drakhlur1 4 жыл бұрын
Hey man, thanks for the great tutorial. It helped at lot! For the next video, could you please explain how to add a Redis container to act as a queue for the requests coming into the web app?
@pial2461
@pial2461 4 жыл бұрын
saved my day mate!
@srir7249
@srir7249 3 жыл бұрын
This is such a great video. Would you also be able to explain how a container would be able to write into a database server.
@ramchunduri1822
@ramchunduri1822 3 жыл бұрын
Thanks! it's helpful.
@yaseraa2884
@yaseraa2884 3 жыл бұрын
Thank you so much, keep going
@chandankumaryadav2505
@chandankumaryadav2505 3 жыл бұрын
Rest its an awesome video and very intuitive .Thanks Man \m/
@yassinerh7709
@yassinerh7709 4 жыл бұрын
Thank you very much, mate :)
@PREC0GNITAVE
@PREC0GNITAVE 3 жыл бұрын
thanks for this Tutorial it has helped me a lot. What would I need to change if I wanted to run the Nginx container and flask container on separate machines? I assume modifying the nginx.conf file to point at the ip of the flask machine, would uwsgi_pass still be uswgi_pass flask:8080 though?
@Dennis-us6zd
@Dennis-us6zd 2 жыл бұрын
Hi Julian, thanks a lot for sharing this insightful vid. Could you also please show how this could be done with an additional database service and a front end service? Say a Postgresdb folder and a react folder with typescript code in it? Thanks !
@timsavory9718
@timsavory9718 3 жыл бұрын
Hi Julian, Great Tutorial. Do i really need to add the nginx part if deploying to a Synology NAS which already has nginx web server and reverse proxy set up on? Thanks Tim
@sagarchoudhary8080
@sagarchoudhary8080 2 жыл бұрын
really very helpful thanx a lot :)
@abhijitambhore
@abhijitambhore 5 жыл бұрын
very helpful
@victorherrera4527
@victorherrera4527 3 жыл бұрын
Thank you for the tutorial! Is it possible to run both Nginx and uWSGI in the same container?
@anderssegerlund818
@anderssegerlund818 2 жыл бұрын
Super helpful guide. But is there a way to implement hot-reloading to avoid restarting the container when making an update in the flask app
@gargantuan4696
@gargantuan4696 4 жыл бұрын
You could link a local volume instead so you don’t have to rebuild the container on every change, simply refresh
@sssrnty6280
@sssrnty6280 3 жыл бұрын
man thanks for this
@scotter
@scotter 3 жыл бұрын
Wow. So thorough and easy to follow. Thank you!!! Questions: (1) How do we differentiate apps? Am I correct in assuming when each app has its own container, all except ports (and of course our python program itself) can be the same file names, as long as our primary change is to name the root folder "FLASKAPP" something different for each container? (2) What if we have different domain names pointing to each different app, how do we direct those domain names to the correct app? Does all this work on a Windows server? I assume so, because I have nginx running on my Windows 2019 server. (3) If I already have Postgres running on the same server and my ONE python app running fine using that Postgres server, do you recommend tying Postgres into the docker containers somehow? I assume my Postgres server doesn't have to be containerized? THANK YOU!
@xfabiosoft
@xfabiosoft 5 жыл бұрын
I good improvement is to use docker volumes during development. So you don't have to build new containers every time
@soumyasen8353
@soumyasen8353 4 жыл бұрын
Have a question, how to pass the request header and request body through nginx
@glanismonteiro5126
@glanismonteiro5126 4 жыл бұрын
sir, what key do you press to auto generate dockerfile contents in vs code?
@nubiedriver
@nubiedriver Жыл бұрын
great intro. thks
@robp8468
@robp8468 4 жыл бұрын
Great tutorial. It would be great if you could make another part on how to deploy this on AWS.
@salmankazi5308
@salmankazi5308 4 жыл бұрын
Hey Did u find a way to upload flask app to aws
@khlchs2231
@khlchs2231 3 жыл бұрын
thank you very much , do you have a tutorial on how to deploy multiple models on server ,? , not just one model ,
@iwoz
@iwoz 4 жыл бұрын
great video.can you make a video for debugging flask inside the container with VSCode
@pieter1212112
@pieter1212112 4 жыл бұрын
Bro your an actual hero thanks!
@iwoz
@iwoz 3 жыл бұрын
Great content. Can you please make an advanced version of this topic
@1endell
@1endell Жыл бұрын
Thank you, man! One question: the uwsgi_params file must be in the app folder?
@harutmikayelyan1701
@harutmikayelyan1701 4 жыл бұрын
Thanks a lot
@imaginarylaurel
@imaginarylaurel 2 жыл бұрын
Good job
@filiphavir8376
@filiphavir8376 3 жыл бұрын
great video
@davidsanusi8982
@davidsanusi8982 5 жыл бұрын
Hi Julian, This has been a very helpful walkthrough. Can you release a guide for how to combine both nginx and uwsgi in the same container? I know this might not be ideal, but this is what I want to achieve. I am currently taking a look at using supervisord but not been able to get it to work yet.
@Notworking1243
@Notworking1243 5 жыл бұрын
I found this to be helpful github.com/tiangolo/uwsgi-nginx-flask-docker/
@mehmetaliozer2403
@mehmetaliozer2403 3 жыл бұрын
awesome tutor, could you deploy a flask app on digitalocean droplet with docker and using a custom domain
@shinichixxxx
@shinichixxxx Жыл бұрын
thanks a lot
@mauromatsudo1910
@mauromatsudo1910 2 жыл бұрын
What about if I have static files? Which are the best container to store them?
@bartekz88
@bartekz88 4 жыл бұрын
You deserve for more subs. Definitely
@hyperupcall
@hyperupcall 4 жыл бұрын
would recommend adding ```py links: - python ``` to the nginx field
@noli-timere-crede-tantum
@noli-timere-crede-tantum 4 жыл бұрын
Thanks for the video. Small clarification: one does not build "containers"; one builds "images" which can be ran as containers. #languageIsKey
@whitedude12345654321
@whitedude12345654321 4 жыл бұрын
Exactly, containers built with docker run or create.
@ronaldronald8819
@ronaldronald8819 4 жыл бұрын
I totally enjoyed your tutorial. Question: I run docker on a Raspberry pi and like to test remote using the pi's ip instead of the localhost can that be done?
@brunodonascimentomaciel9984
@brunodonascimentomaciel9984 4 жыл бұрын
You can use a ssh tunnel.
@dannys1613
@dannys1613 5 жыл бұрын
Can you show us totorial how to setup WSL and VS Code because i cant set the PATHs etc I can only setup the WSL terminal but how i can use my WSL python in vscode or i need to install it on windows too
@xanderx8289
@xanderx8289 5 жыл бұрын
How are you using that Hyper? Is it on top of Powershell but with Unix commands? I don't quite get it.
@Schattenschritt62
@Schattenschritt62 4 жыл бұрын
Windows Subsystem for Linux
@PavelZagalsky
@PavelZagalsky 4 жыл бұрын
Thanks for the tutorial Julian, this will help a big problem I work on. Shame about the music though, very distracting. Thanks!!
@thevijayraj34
@thevijayraj34 3 жыл бұрын
Actually we can do updating the codes without rebuilding it. Just need to mount the dev folder with port binding in compose XML.
@joey0827GandD
@joey0827GandD 4 жыл бұрын
Oh damn the sound his keyboard makes is really satisfying... can anybody figure out what or what kind of keyboard he uses (eg. mechanical, non-mechanical)?
@moha6243
@moha6243 11 ай бұрын
Hello Julian, I worked with your tutorial and I have one question how i have to configure the VS-Code Debugger to debug this Setting?
@BiranchiNarayanNayak
@BiranchiNarayanNayak 4 жыл бұрын
Can you please make another video on how to run multiple python apps on Docker running on different ports ?
@scoa_dev8551
@scoa_dev8551 3 жыл бұрын
Biranchi Narayan Nayak Just make a new app then port it port 3000 and just reference it.
@asiddiqi123
@asiddiqi123 4 жыл бұрын
So every time I make changes I build it? Why don't you mount volume?
@israw
@israw 4 жыл бұрын
Why do you use containers instead of the normal way to run nginx and python etc?
@saurabhramya144
@saurabhramya144 3 жыл бұрын
uWSGI does get installed on the windows machine. How did you solve that?
@danieldecasse2924
@danieldecasse2924 2 жыл бұрын
cant seem to get UsWGI installed. Im on windows 10. feel like I am something simple. any help is appreciated
@Shrey-G
@Shrey-G 4 жыл бұрын
You got a repo in Github for this?
@chandankumaryadav2505
@chandankumaryadav2505 3 жыл бұрын
While doing docker-compose up, I landed into an issue:- "invalid chmod value: true" for `chmod-socket=true` in app.ini file Probable fix: chmod-socket = 666 (664 can also work for www-data) uid= www-data gid= www-data, updating the above value in app.ini file fixed my issue
@opeyemiatoyebi
@opeyemiatoyebi 3 жыл бұрын
The video is cool. I tried to connect my docker to my local mysql server, but am getting connection refuse. Any suggestion, please
@yomajo
@yomajo 2 жыл бұрын
Yeah, question. Say flask app is hosted in cloud somewhere. Say it's containerized with docker. How do you update app when it's live in production?
@yassinezara9641
@yassinezara9641 Жыл бұрын
Thanks for this Tuto, it's awesome. the Tutorial link is not working :(
@intrepidsouls
@intrepidsouls 4 жыл бұрын
Great tutorial. BTW, it is not u-Whiskey, it is microwiskey
Flask Load Balancing Using Nginx and Docker
18:39
DevGuyAhnaf
Рет қаралды 31 М.
WSGI for Web Developers (Ryan Wilson-Perkin)
24:52
PyCon Canada
Рет қаралды 91 М.
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 7 МЛН
Why You Should Always Help Others ❤️
00:40
Alan Chikin Chow
Рет қаралды 121 МЛН
Please be kind🙏
00:34
ISSEI / いっせい
Рет қаралды 82 МЛН
How to containerize Python applications with Docker
26:08
Docker
Рет қаралды 80 М.
Convert Python Flask APP to Docker Container | Docker | Python Flask
23:31
CodeWithRajRanjan
Рет қаралды 115 М.
Containerize Python Applications with Docker
20:51
NeuralNine
Рет қаралды 106 М.
Transport Layer Security (TLS) - Computerphile
15:33
Computerphile
Рет қаралды 469 М.
Flask Blueprints Make Your Apps Modular & Professional
13:33
NeuralNine
Рет қаралды 33 М.
Deploying Django with Docker Compose, Gunicorn and Nginx
15:59
Django road
Рет қаралды 88 М.
How to Deploy Django on Nginx with uWSGI (full tutorial)
37:57
Tony Teaches Tech
Рет қаралды 87 М.
How to Deploy Flask with Gunicorn and Nginx (on Ubuntu)
13:50
Tony Teaches Tech
Рет қаралды 59 М.
How to Deploy a Flask App to Linux (Apache and WSGI)
11:21
Luke Peters
Рет қаралды 56 М.
Python dataclasses will save you HOURS, also featuring attrs
8:50
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 7 МЛН