У меня есть приложение фляги, работающее на экземпляре Ec-2. Я мог получить к нему доступ из внешней среды с помощью http:ip-address:5000
, где IP-адрес - это публичный адрес моего экземпляра ec-2.
Код применения моей колбы:
from flask import Flask
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def my_form_post():
return "Hello World"
if __name__ == '__main__':
app.run(host="my-ec2-private-address", port=5000, debug=True)
Я докеризировал приложение фляги, используя следующее Dockerfile
:
FROM python:2.7
MAINTAINER noob-reaper
COPY . /Mini
WORKDIR /Mini
RUN pip install -r requirements.txt
EXPOSE 5000
CMD python miniRobot.py
Моя команда сборки была:
docker build -t robot .
Сборка прошла успешно. Но когда я пытаюсь запустить с помощью следующей команды:
docker run -p 5000:5000 robot
Я получаю следующую ошибку ---
port bindings are not yet supported by rootless containers
Как решить вышеуказанную проблему? Есть ли способ доступа к службе фляги, работающей в контейнере Docker, в экземпляре ec-2 извне?