问题

我正在尝试使用flask_restful在Docker容器中部署带有AWS Elastic Beanstalk的测试API . 我已粘贴下面的示例代码,以便您可以看到实际发生的情况 . 我不理解的奇怪的事情是我的app.py正在运行,但它在端口80而不是端口5000上暴露,这是我在app.py app.run命令和我的指定中都指定的dockerfile . 我还没有在这种环境中运行负载均衡器 . 我确信这在某处清楚地记录了下来 . 但我还没发现它 .

dockerfile:

FROM ubuntu:14.04

   # Update packages
RUN apt-get update -y

# Install Python Setuptools
RUN apt-get install -y python-setuptools

# Install pip
RUN easy_install pip

# Add and install Python modules
ADD requirements.txt /src/requirements.txt
RUN cd /src; pip install -r requirements.txt

# Bundle app source
ADD . /src

# Expose
EXPOSE  5000

# Run
CMD ["python", "/src/app.py"]

app.py:

from flask import Flask
from flask_restful import Api, Resource

app = Flask(__name__)
api = Api(app)

workers = [
    {
        "workerid": "sample1",
        "iamid": "Pj9Cm8r&ve85Wm%u"
    },
]

class WorkerOnline(Resource):
    def get(self, name):
        for worker in workers:
            if(name == worker["workerid"]):
                return "Worker " + name + " Found", 200
        return "Worker not associated", 404

api.add_resource(WorkerOnline, "/worker/online/<string:name>")

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