次の最小限の例を使用して、Docker化されたFlaskアプリに接続しようとすると、エラー104「ピアによる接続のリセット」で失敗します。
app.py:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
Dockerfile:
FROM python:alpine
RUN pip install flask
COPY . /src/
EXPOSE 5000
ENTRYPOINT ["python", "/src/app.py"]
docker-compose.yml:
…
test:
build: .
ports:
- 127.0.0.1:5000:5000
Flaskアプリは期待どおりに実行されているようです:
$ docker logs test
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
外部から接続しようとすると失敗します:
$ http http://127.0.0.1:5000/
http: error: ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')) while doing GET request to URL: http://127.0.0.1:5000/
「Hello World!」が表示されない理由 ここに?