我有一个应用程序谁只有依赖是烧瓶,它在docker外运行良好并绑定到默认端口5000
.这是完整的来源:
from flask import Flask
app = Flask(__name__)
app.debug = True
@app.route('/')
def main():
return 'hi'
if __name__ == '__main__':
app.run()
Run Code Online (Sandbox Code Playgroud)
问题是,当我在docker中部署它时,服务器正在运行但无法从容器外部访问.
下面是我的Dockerfile.图像是安装了烧瓶的ubuntu.tar只包含index.py
上面列出的内容;
# Dockerfile
FROM dreen/flask
MAINTAINER dreen
WORKDIR /srv
# Get source
RUN mkdir -p /srv
COPY perfektimprezy.tar.gz /srv/perfektimprezy.tar.gz
RUN tar x -f perfektimprezy.tar.gz
RUN rm perfektimprezy.tar.gz
# Run server
EXPOSE 5000
CMD ["python", "index.py"]
Run Code Online (Sandbox Code Playgroud)
以下是我要部署的步骤
$> sudo docker build -t perfektimprezy .
据我所知,上面运行正常,图像中有tar的内容/srv
.现在,让我们在一个容器中启动服务器:
$> sudo docker run -i -p 5000:5000 -d …
Run Code Online (Sandbox Code Playgroud)