PythonOnDocker
Pythonで最低限の応答をするコンテナを作る
Flask編
下記のようなindex.pyとかを作ります。0.0.0.0にしないと外部からアクセスできません。
from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello Flask!" if __name__ == "__main__": app.run(host='0.0.0.0')
Dockerfile
FROM python:2.7 ADD . /code WORKDIR /code RUN pip install flask CMD python ./index.py
$ docker build -t flask_example . $ docker run -d -p 5000:5000 flask_example
http://myserver:5000/ でアクセスできた。
Juno編
下記のようなindex.pyとかを作って。。
#!/usr/bin/env python # encoding:utf-8 from juno import * @route('/') def index(web): return 'Hello, Juno!' @route('/hello') def index(web): return 'Hello!' run()
Dockerfileは下記。
FROM python:2.7 ADD . /code WORKDIR /code RUN pip install SQLAlchemy Jinja2 Mako Werkzeug RUN easy_install juno CMD python ./index.py
なんかjunoはpipだとこけた。
$ docker build -t juno . $ docker run -d -p 8000:8000 juno
junoのデフォルトポートは8000みたい。 http://myserver:8000/ でアクセスできた。404.htmlがないとかfaviconがないとかいろいろ言われるがまあそれは必要に応じて。