Dockerを初めて使用しています。私はマイクロサービスアーキテクチャのアプローチを使用して私のモノリシックアプリケーションを再構築したい。Dockerの使い方:nginx Webサーバーと通信するためにWebアプリケーションをワープする方法
私はFlagsアプリケーションサーバーがnginxサーバーと対話する必要があります。従来、uWSGIとして機能するGunicornを使用していましたが、Dockerを使用して同じことをどうやって行うことができますか?以下は
私のコードで、
私はここで
from flask import Flask, request, render_template
import os
app = Flask(__name__)
default_key = '1'
app.config["UPLOAD_FOLDER"] = "/app"
@app.route('/', methods=['GET', 'POST'])
def mainpage():
if request.method == 'POST':
print request.form
if request.method == 'POST' and request.form['submit'] == 'Check Results' :
#TODO: copy the file into named volume
f = request.files['file']
filename = f.filename
print os.getcwd()
print os.listdir(os.getcwd())
file1 = os.path.join(app.config['UPLOAD_FOLDER'], filename)
f.save(file1)
#TODO: ping the Classifier container
return render_template('index.html')
#def receive_classifier_info():
#TODO: the file has been received so succesfully display the message.
#pass
if __name__ == '__main__':
app.run(host='0.0.0.0')
をExcelファイルをアップロードするかどうかをユーザに尋ねるフラスコアプリケーションは、
<html>
<head>
<title>key value lookup service</title>
</head>
<body>
<form method="POST" enctype = "multipart/form-data">
<br>
<h3>Select an input file</h3>
<input type="file" name="file" value="Browse">
<br>
<h3>Insert a pic of the sample format</h3>
<br>
<input type="submit" name="submit" value="Check Results">
</form>
</body>
</html>
index.htmlを/私のテンプレートである必要があり
次に、このコンテナを構築するためのDockerfileを示します。
FROM python:2.7
RUN pip install Flask==0.11.1
RUN useradd -ms /bin/bash admin
COPY app /app
WORKDIR /app
RUN chown -R admin:admin /app
RUN chmod 755 /app
USER admin
CMD ["python", "app.py"]
次に、リバースプロキシとして機能するnginxサーバーがあります。
ここから進んでいく方法が固まっています。 :(
私の質問は以下のとおりです。
1)どのように私はそれがnginxのコンテナと通信していることを確認するために自分のアプリケーションサーバーをラップする必要があります。 - >処理の開始を通知する送信ボタンをユーザがクリックするたびに、アプリケーションコンテナに通知する必要があります。 - >次に、処理が完了したら、OK処理が完了したことをnginxサーバーに通知する必要があります。
2)index.htmlを/ var/www/nginx/htmlにコピーする必要がありますか?
あなたは
誰もプロセス全体を詳しく説明している1冊の本をお勧めできますか?ありがとうございます –