Tuesday, December 23, 2014

Amazon AWS Elastic Beanstalk, Python, Flask and Sci-Stack Docker

This actually took me longer than I'd like to admit to get working, but in the end the solution is quite neat and simple, so it was probably worth it, and hopefully this could save other people some time.

The Amazon Docker file looks like this: 
AWS Elastic Beanstalk Dockerfile - Github

This installs the contents of the root folder requirements.txt before running your Docker file. So for my application the basic "non-sci" packages could be installed simply enough.

Root Folder: requirements.txt:
Then to install the sci related packages... numpy, scipy, pandas, scikit-learn and nltk. I created another requirements.txt in an aws-post-install folder. This is to be run once the Amazon linux OS has been updated and all the required OS dependencies have been installed.

Post Docker requirements.txt:
My custom docker file, that builds ontop of the Amazon image looked as follows:

Docker File:

Next step is to get my docker image to be used directly so that the Elastic Beanstalk app doesn't have to do all the downloads and installs every time should be simple enough according the AWS you tube channel: https://www.youtube.com/watch?v=pLw6MLqwmew


Popular Posts