我在 Amazon EC2 上的 docker 容器中運行 Web 應用程式,但我的 Web 瀏覽器沒有顯示任何內容并且無法訪問。我忘了什么嗎?如果有人能指出原因并為我提供提示,我將不勝感激。
這就是我運行 webapp 的方式:
ubuntu@ip-172-31-29-212:~$ sudo docker run -p5000:5000 makotodocker/my-image:test-0.0.2
* Serving Flask app 'application.py' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL C to quit)
這是我在這個 EC2 實體上的安全組設定。

我的實體的公共 IPv4 地址是 13.38.1.129,所以我輸入了
編輯:這是結果docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
695a6671ebf4 makotodocker/my-image:test-0.0.2 "flask run" 20 seconds ago Up 19 seconds 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp angry_taussig
這是 的結果ps -ef | grep 5000,不確定這是否有幫助。
ubuntu@ip-172-31-29-212:~$ ps -ef | grep 5000
root 3784 567 0 05:09 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5000 -container-ip 172.17.0.2 -container-port 5000
root 3789 567 0 05:09 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 5000 -container-ip 172.17.0.2 -container-port 5000
ubuntu 3856 3667 0 05:09 pts/0 00:00:00 grep --color=auto 5000
uj5u.com熱心網友回復:
您在本地主機地址 (127.0.0.1) 中運行您的應用程式,使用 0.0.0.0 作為主機運行它,它應該可以作業。
localhost 和 0.0.0.0 之間的區別在于前者是一個環回地址,而后者是一個元地址,映射了您實體中的所有地址。
作業示例:app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def main():
return "Hello, World!"
運行:
flask run --host 0.0.0.0
確保埠 5000 在實體的安全組中列入白名單。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/410985.html
標籤:
