No video

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

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

  • @experimental_av
    @experimental_av4 жыл бұрын

    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
    @acortis5 жыл бұрын

    Hello there, great videos (saw the entire series), definetely underrated channel. Keep it up bro.

  • @ericli8461
    @ericli84615 жыл бұрын

    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!

  • @bostevens236
    @bostevens2363 жыл бұрын

    I really like how you kept it basic, and EXPLAINED the basics. Well done!

  • @felixmeyer4360
    @felixmeyer43604 жыл бұрын

    Such an amazing video! just spent 3 hrs banging my head against the wall with apache and I love this process!

  • @subhadippahari1244
    @subhadippahari12444 жыл бұрын

    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.

  • @houmie
    @houmie4 жыл бұрын

    Amazing tutorial. To the point, without making it sound too complicated.

  • @dshefman
    @dshefman4 жыл бұрын

    I too have been trying to find this kind of content for weeks! Thank you.

  • @davidmakowka922
    @davidmakowka9224 жыл бұрын

    This is what you do to get new subscribers. Wish everyone would keep this level of quality of videos. Really like your content

  • @juansidberry4422
    @juansidberry44223 жыл бұрын

    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.

  • @jussivisapaa1826
    @jussivisapaa18262 жыл бұрын

    Thanks for this great tutorial! - Straight forward in a good speed. Solved some of my issues with docker/flask

  • @golfstallion1354
    @golfstallion13542 жыл бұрын

    This was a very useful video. It got me up and running in docker and docker-compose. Thank you for sharing Julian.

  • @sainbayarbattur4348
    @sainbayarbattur43483 жыл бұрын

    Brilliant series of videos. I certainly wish I’d found them earlier! Thanks very much.

  • @ramaswamym7309
    @ramaswamym73095 жыл бұрын

    Thank you so much Julian. It's extremely helpful for me to understand the overall concept. Keep rocking bro :-)

  • @ram1879
    @ram18794 жыл бұрын

    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!

  • @tironxxx
    @tironxxx2 жыл бұрын

    Best guides on "Flask" topics on "KZread". Thank you.

  • @zenahrb8316
    @zenahrb83164 жыл бұрын

    got yourself a new sub. Absolutely stunning delivery!

  • @hotharvey2
    @hotharvey23 жыл бұрын

    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

  • @Virdevir
    @Virdevir3 жыл бұрын

    Outstanding video ! Thank you! Looking forward for new videos.

  • @dannisisgt
    @dannisisgt3 жыл бұрын

    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

  • @SamAndrew27
    @SamAndrew272 жыл бұрын

    Best Docker & Flask tutorial I've found! Thanks dude :D

  • @DorZ1983
    @DorZ19832 жыл бұрын

    Best tutorial video I've watched on these subjects. thank you for that.

  • @whereisyourjohnie4026
    @whereisyourjohnie40264 жыл бұрын

    This is a really clear tutorial! Thanks!

  • @joaovictorpereirarocha33
    @joaovictorpereirarocha334 жыл бұрын

    Great Tutorial. I learned a lot of things. Thanks!

  • @fortis-lt
    @fortis-lt4 жыл бұрын

    You help me well! Thank you for the guide!

  • @Ignalvarez
    @Ignalvarez4 жыл бұрын

    Great job Julian!

  • @rasanjayasubasinghe2454
    @rasanjayasubasinghe24542 жыл бұрын

    @Julian, Very awesome tutorials and hope you will start continue with the new content.

  • @eli.malka.youtube
    @eli.malka.youtube3 жыл бұрын

    Julian thanks for the video puts things into order.

  • @akramsystems
    @akramsystems9 ай бұрын

    Keep up the amazing work

  • @roberthmejias
    @roberthmejias4 жыл бұрын

    Awesome!!! its so great, this one works for me ... thanks so much

  • @vasylcf
    @vasylcf5 жыл бұрын

    Thanks, good guide and clear explanation )

  • @kevinmbtbass
    @kevinmbtbass5 жыл бұрын

    Extremely helpful! Would you be interested in making a video on implementing TLS with this kind of architecture?

  • @davidpaez_co
    @davidpaez_co4 жыл бұрын

    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

  • @donaldstrubler3870
    @donaldstrubler38704 жыл бұрын

    Outstanding explanation.

  • @danielstadler3390
    @danielstadler33904 жыл бұрын

    I subscribed because you are criminally under-subbed. Excellent tutorial.

  • @angshumanbardhan3729
    @angshumanbardhan37292 жыл бұрын

    Thank You for making this video

  • @joc0n647
    @joc0n647 Жыл бұрын

    That saved my life. Great Tutorial

  • @muhammad.rafi2012
    @muhammad.rafi20124 жыл бұрын

    simply awesome , thanks for sharing

  • @solrachincapie
    @solrachincapie2 жыл бұрын

    Excelente Julian... Muchas gracias me ayudaste bastante...

  • @guilhermeoliveira5499
    @guilhermeoliveira54994 жыл бұрын

    AAwesome! Thank you! Helped me a lot!

  • @scoa_dev8551
    @scoa_dev85513 жыл бұрын

    Loved this vid. Thanks!

  • @bhupenderbhardwaj6991
    @bhupenderbhardwaj69912 жыл бұрын

    Great content always!!

  • @gauravshah8554
    @gauravshah85542 жыл бұрын

    Thanks for the great tutorial.

  • @leemerchant9231
    @leemerchant92313 жыл бұрын

    Seriously good video. Thanks!

  • @huitangtt
    @huitangtt4 жыл бұрын

    Great tutorial! I love it and helped me a lot~~~

  • @drakhlur1
    @drakhlur14 жыл бұрын

    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?

  • @srir7249
    @srir72493 жыл бұрын

    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.

  • @pial2461
    @pial24614 жыл бұрын

    saved my day mate!

  • @sagarchoudhary8080
    @sagarchoudhary80802 жыл бұрын

    really very helpful thanx a lot :)

  • @chandankumaryadav2505
    @chandankumaryadav25053 жыл бұрын

    Rest its an awesome video and very intuitive .Thanks Man \m/

  • @yaseraa2884
    @yaseraa28844 жыл бұрын

    Thank you so much, keep going

  • @xfabiosoft
    @xfabiosoft5 жыл бұрын

    I good improvement is to use docker volumes during development. So you don't have to build new containers every time

  • @gargantuan4696
    @gargantuan46964 жыл бұрын

    You could link a local volume instead so you don’t have to rebuild the container on every change, simply refresh

  • @ramchunduri1822
    @ramchunduri18224 жыл бұрын

    Thanks! it's helpful.

  • @yassinerh7709
    @yassinerh77094 жыл бұрын

    Thank you very much, mate :)

  • @robp8468
    @robp84684 жыл бұрын

    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

  • @Dennis-us6zd
    @Dennis-us6zd2 жыл бұрын

    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 !

  • @nubiedriver
    @nubiedriver2 жыл бұрын

    great intro. thks

  • @abhijitambhore
    @abhijitambhore5 жыл бұрын

    very helpful

  • @PREC0GNITAVE
    @PREC0GNITAVE3 жыл бұрын

    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?

  • @harutmikayelyan1701
    @harutmikayelyan17014 жыл бұрын

    Thanks a lot

  • @sssrnty6280
    @sssrnty62803 жыл бұрын

    man thanks for this

  • @noli-timere-crede-tantum
    @noli-timere-crede-tantum4 жыл бұрын

    Thanks for the video. Small clarification: one does not build "containers"; one builds "images" which can be ran as containers. #languageIsKey

  • @cartmanhz

    @cartmanhz

    4 жыл бұрын

    Exactly, containers built with docker run or create.

  • @iwoz
    @iwoz3 жыл бұрын

    Great content. Can you please make an advanced version of this topic

  • @imaginarylaurel
    @imaginarylaurel2 жыл бұрын

    Good job

  • @timsavory9718
    @timsavory97183 жыл бұрын

    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

  • @scotter
    @scotter3 жыл бұрын

    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!

  • @shinichi9do
    @shinichi9do Жыл бұрын

    thanks a lot

  • @filiphavir8376
    @filiphavir83763 жыл бұрын

    great video

  • @davidsanusi8982
    @davidsanusi89825 жыл бұрын

    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/

  • @BiranchiNarayanNayak
    @BiranchiNarayanNayak4 жыл бұрын

    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.

  • @iwoz
    @iwoz4 жыл бұрын

    great video.can you make a video for debugging flask inside the container with VSCode

  • @khlchs2231
    @khlchs22314 жыл бұрын

    thank you very much , do you have a tutorial on how to deploy multiple models on server ,? , not just one model ,

  • @victorherrera4527
    @victorherrera45273 жыл бұрын

    Thank you for the tutorial! Is it possible to run both Nginx and uWSGI in the same container?

  • @pieter1212112
    @pieter12121124 жыл бұрын

    Bro your an actual hero thanks!

  • @anderssegerlund818
    @anderssegerlund8182 жыл бұрын

    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

  • @soumyasen8353
    @soumyasen83535 жыл бұрын

    Have a question, how to pass the request header and request body through nginx

  • @bartekz88
    @bartekz884 жыл бұрын

    You deserve for more subs. Definitely

  • @hyperupcall
    @hyperupcall4 жыл бұрын

    would recommend adding ```py links: - python ``` to the nginx field

  • @mehmetaliozer2403
    @mehmetaliozer24034 жыл бұрын

    awesome tutor, could you deploy a flask app on digitalocean droplet with docker and using a custom domain

  • @ronaldronald8819
    @ronaldronald88194 жыл бұрын

    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.

  • @thevijayraj34
    @thevijayraj343 жыл бұрын

    Actually we can do updating the codes without rebuilding it. Just need to mount the dev folder with port binding in compose XML.

  • @dannys1613
    @dannys16135 жыл бұрын

    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

  • @joey0827GandD
    @joey0827GandD4 жыл бұрын

    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)?

  • @glanismonteiro5126
    @glanismonteiro51264 жыл бұрын

    sir, what key do you press to auto generate dockerfile contents in vs code?

  • @sergeyshevtsov5125
    @sergeyshevtsov51254 жыл бұрын

    Julian come back! You had very good content!

  • @juliannash3590

    @juliannash3590

    4 жыл бұрын

    Soon!

  • @hackerprime9722

    @hackerprime9722

    3 жыл бұрын

    @@juliannash3590 Please! You're a great KZreadr.

  • @mahmoudalshalaldeh9012
    @mahmoudalshalaldeh90122 жыл бұрын

    Rest in Peace Julian

  • @assaultx5677

    @assaultx5677

    Жыл бұрын

    Is that true.

  • @mahmoudalshalaldeh9012

    @mahmoudalshalaldeh9012

    Жыл бұрын

    @@assaultx5677 I believe so. Forgot how I found out.

  • @user-cr8ry4zg3g

    @user-cr8ry4zg3g

    8 ай бұрын

    It is awful. I really thought that he is died... I checked him LinkedIn, it looks like that he is alive. This is cruel joke...

  • @1endell
    @1endell Жыл бұрын

    Thank you, man! One question: the uwsgi_params file must be in the app folder?

  • @PavelZagalsky
    @PavelZagalsky5 жыл бұрын

    Thanks for the tutorial Julian, this will help a big problem I work on. Shame about the music though, very distracting. Thanks!!

  • @xanderx8289
    @xanderx82895 жыл бұрын

    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

  • @mauromatsudo1910
    @mauromatsudo19102 жыл бұрын

    What about if I have static files? Which are the best container to store them?

  • @yassinezara9641
    @yassinezara9641 Жыл бұрын

    Thanks for this Tuto, it's awesome. the Tutorial link is not working :(

  • @scorprog
    @scorprog Жыл бұрын

    Hi, nice tutorials. Can you a Flask-SQLAlchemy tutorial.

  • @israw
    @israw5 жыл бұрын

    Why do you use containers instead of the normal way to run nginx and python etc?

  • @chandankumaryadav2505
    @chandankumaryadav25053 жыл бұрын

    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

  • @christiantapia7736
    @christiantapia77364 жыл бұрын

    te amo.

  • @moha6243
    @moha6243 Жыл бұрын

    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?

  • @Gn0mH4nT3r
    @Gn0mH4nT3r Жыл бұрын

    thank you for your tutorial, it was kind of useful. My question is, how can I put these into one docker image?

  • @assaultx5677

    @assaultx5677

    Жыл бұрын

    I don't know the answer mate but I just want to tell you that he had stop uploading new videos and he's not going to answer your question. You can see his last upload was 3yrs back. May be he just quitted the KZread because of poor response or maybe something else. But his videos are really helpful.

  • @Gn0mH4nT3r

    @Gn0mH4nT3r

    Жыл бұрын

    @@assaultx5677 well thank you, I solved the issue (with lot of effort), however the good practice the way that is presented in the video (using separate images and containers)

  • @asiddiqi123
    @asiddiqi1234 жыл бұрын

    So every time I make changes I build it? Why don't you mount volume?

  • @intrepidsouls
    @intrepidsouls4 жыл бұрын

    Great tutorial. BTW, it is not u-Whiskey, it is microwiskey