使用Docker配置Flask开发环境

文章目录

[隐藏]

  • 工具
  • 配置文件
  • 容器启动
  • 总结

使用Docker+docker-compose,配置最简Flask开发环境

工具
  • Docker
    一种开源容器应用,供开发者打包自己的开发环境,可以任意移植

  • docker-compose
    一种管理多个Docker容器的工具,可以简化我们启动容器的各种命令

配置文件

首先我们需要一个python基础景象,Docker各种基础镜像都可以从官方找到 https://hub.docker.com/_/python/ 。找到基础镜像之后就可以基于它做相应的配置,这些操作都记录在Dockerfile中。

Dockerfile:

FROM python:3.6-slim # 官网中挑选的python基础镜像    ADD requirements.txt requirements.txt # requirements.txt罗列了需要安装的python模块,将文件复制到容器中    RUN pip install -r ./requirements.txt # 执行模块安装    EXPOSE 5000 # 对外暴露5000端口  

requirements.txt

Flask # 需要安装的python模块,如有其他需要安装的模块,如下依次写入。  # redis  # pymongo  

配置完Dockerfile之后,开始配置docker-compose文件。

docker-compose.yml

web:    build: ../../dockerfile/python/3 # DockerFile所在目录    ports:      - "5000:5000" # 对外暴露端口,与Dockerfile中端口号一致    volumes:      - ~/workspace/python/redis:/code # 本地工作目录与容器中目录映射    command:      - /code/app.py # 处理请求的python脚本  

app.py

#!/usr/bin/env python    from flask import Flask  app = Flask(__name__)    @app.route('/')  def hello_world():      return 'Flask Dockerized'    if __name__ == '__main__':      app.run(debug=True,host='0.0.0.0')  
容器启动

在docker-compose.yml所在文件夹执行命令 docker-compose up ,在控制台中看到如下输出:

Starting flash_web_1 ...  Starting flash_web_1 ... done  Attaching to flash_web_1  web_1  |  * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)  web_1  |  * Restarting with stat  web_1  |  * Debugger is active!  web_1  |  * Debugger PIN: 166-703-177  

同时在浏览器中输入 localhost:5000 ,并正常显示文本 Flask Dockerized ,环境就配置成功啦!对应的log都可以在启动容器的终端中查看到。例如:

web_1  | 172.17.0.1 - - [13/Sep/2017 13:18:17] "GET / HTTP/1.1" 200 -  web_1  | 172.17.0.1 - - [13/Sep/2017 13:18:17] "GET /favicon.ico HTTP/1.1" 404 -  
总结

以上配置了最简的Flask开发环境,实际开发中还需要数据库、缓存、nginx等,这些基础容器都可以在Docker官网中找到,并使用docker-compose可以很清晰的将这些容器关联起来。

原文出处:u3v3 -> https://www.u3v3.com/ar/1411

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。