Getting Started With Flask and Docker: Containerize your first flask application

Docker

Docker is an open source tool which is used to deliver software in packages called containers and in the recent days it has changed we think, ship and deploy our applications to the server.

The main advantage of docker is that it e…


This content originally appeared on DEV Community and was authored by Emma Donery

image

Docker

Docker is an open source tool which is used to deliver software in packages called containers and in the recent days it has changed we think, ship and deploy our applications to the server.

The main advantage of docker is that it enables easy deployment to the cloud, since containers have the added benefit of running anywhere without facing dependencies conflicts.

Flask

Flask is a web micro-framework, it’s a Python module that lets you develop web applications easily without providing rules and specific methodology to follow.

Flask application structure:

The server.py file - This is our main and entry point file that contains all flask logic to run our application.

The templates folder - By default, flask will look for any markup files in the templates folder, but you can configure to have your html files in a different folder.

The static folder - In our flask applications we uses static folder to keep our static files, these include images, JavaScript and CSS code

NB:
When creating python application it is advisable to keep virtual environment so that you don't interfere with the global local environment, also since we will creating a minimalistic flask application we won't be using static files hence we don't need the static folder.

server.py

from flask import Flask, render_template, request

app = Flask(__name__)

@app.route('/register', methods = ["GET", "POST"])
def register():
   if request.method == "POST":
       username = request.form["username"]
       email = request.form["email"]
       password = request.form["password"]
   return render_template('register.html')

if __name__ == '__main__':
    app.run(debug=True)

Templates/register.html

<html>
  <head>
    <title>Welcome to our registration page</title>
  </head>
  <body>
  <form>
    Username <input type = "text" name= "username" /> 
    Email <input type = "text" name = "email" />
    Password <input type = "text" name = "password" />
  </form>
  </body>
</html>

Dockerfile

FROM python:3.6-alpine

COPY . app

COPY ./requirements.txt /app/requirements.txt

WORKDIR app

EXPOSE 5000:5000

RUN pip install -r requirements.txt

CMD [ "python", "server.py" ]

Build your docker image

>>> docker build -t myimage .  

Run your docker image

Now that we have successfully built our image let run it using docker run command, the following command will run our myimage image.

>>>docker run -t -i myimage    

Bravo!?? you have containarized your first flask application, alternatively you can use docker compose which is used to run multiple docker containers to simplify the process where we use just one command docker-compose up to build and run our docker container and docker-compose down to stop the container.

Thank you for reading, please feel free to leave additional insights in the comment section below.

Let Connect

You can get in touch with me on linkedin or twitter


This content originally appeared on DEV Community and was authored by Emma Donery


Print Share Comment Cite Upload Translate Updates
APA

Emma Donery | Sciencx (2021-09-18T21:48:40+00:00) Getting Started With Flask and Docker: Containerize your first flask application. Retrieved from https://www.scien.cx/2021/09/18/getting-started-with-flask-and-docker-containerize-your-first-flask-application/

MLA
" » Getting Started With Flask and Docker: Containerize your first flask application." Emma Donery | Sciencx - Saturday September 18, 2021, https://www.scien.cx/2021/09/18/getting-started-with-flask-and-docker-containerize-your-first-flask-application/
HARVARD
Emma Donery | Sciencx Saturday September 18, 2021 » Getting Started With Flask and Docker: Containerize your first flask application., viewed ,<https://www.scien.cx/2021/09/18/getting-started-with-flask-and-docker-containerize-your-first-flask-application/>
VANCOUVER
Emma Donery | Sciencx - » Getting Started With Flask and Docker: Containerize your first flask application. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/09/18/getting-started-with-flask-and-docker-containerize-your-first-flask-application/
CHICAGO
" » Getting Started With Flask and Docker: Containerize your first flask application." Emma Donery | Sciencx - Accessed . https://www.scien.cx/2021/09/18/getting-started-with-flask-and-docker-containerize-your-first-flask-application/
IEEE
" » Getting Started With Flask and Docker: Containerize your first flask application." Emma Donery | Sciencx [Online]. Available: https://www.scien.cx/2021/09/18/getting-started-with-flask-and-docker-containerize-your-first-flask-application/. [Accessed: ]
rf:citation
» Getting Started With Flask and Docker: Containerize your first flask application | Emma Donery | Sciencx | https://www.scien.cx/2021/09/18/getting-started-with-flask-and-docker-containerize-your-first-flask-application/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.