牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Docker でカレントディレクトリをマウントして Flask の表示を変更してみるメモ

開発環境を整えるのに何かいい方法ないかなと思いつつなんとなく

(macosx10.9, boot2docker1.6.0)

boot2docker インストール

コード

  • docker-sample-mount-a-volum/
    • Dockerfile
    • hello.py
    • requirements.txt

Dockerfile

FROM debian:jessie

RUN apt-get update && \
    apt-get install -y python python-pip && \
    rm -rf /var/lib/apt/lists/*

COPY requirements.txt /tmp/
RUN pip install -r /tmp/requirements.txt

WORKDIR /app


EXPOSE 5000
CMD ["python", "hello.py"]

hello.py

# coding=utf8
from flask import Flask
app = Flask(__name__)


@app.route('/')
def hello_world():
    return "Hello Flask! from the mounted volume!"

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5000, debug=True)

requirements.txt

Flask==0.10.1

boot2docker 実行

$ boot2docker init
$ boot2docker start
$ $(boot2docker shellinit)

docker build and run

$ docker build -t=sample-mount-a-volume .
$ docker run -v `pwd`:/app -p 5555:5000 sample-mount-a-volume python hello.py
$ boot2docker ip
<boot2docker-ip>

webブラウザで下記が表示される

Hello Flask! from the mounted volume!

hello.py の文字列を変更してみる

-    return "Hello Flask! from the mounted volume!"
+    return "Hello Docker!"

などとしてブラウザをリロード。 Hello Docker! と表示される。

参考