This is to create a python-flask web application in docker.
- Python script - app.py
- Dependency file - requirements.txt
- Generate a Dockerfile inorder to build a docker image. Always keep in mind that this file should be placed inside a specific folder.
$ mkdir appdir
$ cd appdir
$ vim Dockerfile
FROM alpine:3.8 -------> ### To create temporary container from the base image ###
RUN mkdir /var/flaskapp -------> ### Executes the command to create a directory ###
WORKDIR /var/flaskapp -------> ### Reset the default working directory to /var/flaskapp ###
COPY . . -------> ### Copy the contents from local directory to the default working directory of container ###
RUN apk update && apk add python3 -------> ### Install python3 ###
RUN pip3 install -r requirements.txt -------> ### Install all the modules mentioned in dependency file ###
EXPOSE 5000 -------> ### Port publishing ###
CMD ["/usr/bin/python3" , "app.py"] -------> ### Default command to be executed when container is created ###
- Create a docker image
$ docker build -t swathikarun/devflaskapp:1 .
- Tag the image
$ docker tag swathikarun/devflaskapp:1 swathikarun/devflaskapp:latest
- Push the image to dockerhub
$ docker image push swathikarun/devflaskapp:latest
$ docker image push swathikarun/devflaskapp:1
$ docker image pull swathikarun/devflaskapp:latest
$ docker container run --name app -d -p 80:5000 swathikarun/devflaskapp:latest
You can check the logs of the docker container using the below command
$ docker logs app
A web application is created with python-flask in docker.