私はDocker(およびすべてのツール)にかなり慣れていません。Mac で Docker マシンとコンテナーをセットアップしようとしています。
私のコンテナーには、フラスコを利用した Python Web アプリケーションが含まれています。次のステートメントでアプリを実行しています
app.run(host='0.0.0.0', debug=True)
そして、これは私のdocker-compose.ymlがどのように見えるかです:
web:
build: .
ports:
- "5001:5001"
volumes:
- .:/volcode
5001 (docker-machine-ip:5001) でホストされているページを読み込もうとすると、Web アプリケーションに加えられた変更が表示されません。
docker-compose build && docker-compose up
アップデート:
これは私の Dockerfile です:
FROM ubuntu:14.04
RUN apt-get -yqq update
RUN apt-get install -yqq python2.7
RUN apt-get install -yqq python-dev
RUN apt-get install -yqq libpq-dev
RUN apt-get install -yqq python-psycopg2
RUN apt-get install -yqq python-pip
ADD . /code
WORKDIR /code
RUN pip install -r server/requirements.txt
CMD python server/src/rest_server.py
これもホットローディングに相当します。(debug=True) は、変更された python ファイルをリロードする必要があります。
app.run(host='0.0.0.0', debug=True)
更新 2:
docker-compose.yml と Dockerfile のマウント ポイントが異なることに注意してください。同じマウント ポイントを持つと、次のエラーが発生します。
python: can't open file 'server/src/rest_server.py': [Errno 2] No such file or directory