欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于Docker的Python Web Service

程序员文章站 2022-04-28 09:40:04
...

以下介绍如何用Docker启动一个Python Web Service的超简单Demo。

运行环境

python: 3.6.1
Docker: 17.06.2-ce

Docker优点

假设这样的场景:机器上面有许多的python应用,每个python应用依赖的包以及包的版本不尽相同。但是机器只能有一个python版本,而每种包理论上都只有一个版本。如何使每个应用运行在它特定的环境内?
Docker提供了这样的一种服务,构建一个image,image包括了一个程序所需要的运行环境以及其源码和可执行文件。

如何使用Docker

按照操作系统选择不同的安装文件进行安装,一个docker程序要包含以下内容:

  • Dockerfile
  • 程序主体

目录结构

learn_docker
    |- Dockerfile
    |- app.py
    |- requirements.txt

app.py

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return 'hello world'

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

Dockerfile

FROM python:3.6.1-slim

WORKDIR /app

ADD . /app

RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
RUN pip install -r requirements.txt

EXPOSE 123
CMD ["python", "app.py"]

requirements.txt

Flask

启动Docker

在程序目录learn_docker下执行以下命令:

docker build -t helloworld .
docker run -p 1234:123 helloworld

访问地址:http://0.0.0.0:1234
得到以下页面
基于Docker的Python Web Service

结语

学习docker最好的方法还是阅读本身的官方文档。下面附上文档链接和Dockerfile仓库地址。

阅读链接

Docker get started docker的官方文档
Docker hub 可以从这里得到各种语言的环境脚本用于继承