First we run our flask app into a apache server, so we need to configure apache server. A full tutorial can be checked here
wsgi file
#!/usr/bin/python import sys import logging logging.basicConfig(stream=sys.stderr) sys.path.insert(0,"/var/www/") from src.run import app as application
App python
import sys sys.path.insert(0,"/var/www/") from app.application import ExampleApi from config import Configuration cfg = Configuration(debug=False) app = ExampleApi(cfg) if __name__ == "__main__": app.run(host=cfg.host,port=cfg.port,debug=cfg.debug)
Dockerfile
FROM ubuntu:12.04 MAINTAINER Andrés Baamonde Lozano RUN apt-get update && apt-get install -y apache2 libapache2-mod-wsgi python-dev python-pip && apt-get clean && rm -rf /var/lib/apt/lists/* RUN pip install Flask #enable mod_wsgi RUN a2dissite default RUN a2dissite default-ssl RUN a2enmod wsgi ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 COPY src /var/www/src #Creamos el virtual host COPY resources/docker/app /etc/apache2/sites-available/appflask RUN chown -R www-data:www-data /var/www/src RUN chown www-data:www-data /etc/apache2/sites-available/appflask RUN a2ensite appflask EXPOSE 80 CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]
You can check full application at my github
Top comments (0)