【发布时间】:2019-10-30 15:39:50
【问题描述】:
我有一个在 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 对烧瓶应用程序进行 docker 化:
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
如何解决上述问题?有没有办法从外部访问在 ec-2 实例的 Docker 容器中运行的烧瓶服务?
【问题讨论】:
-
通过谷歌搜索错误消息,您似乎实际上并没有 Docker,而是某种称为 Podman 的替代方案,以及一个稍微过时的版本。
标签: docker dockerfile podman