基于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最好的方法还是阅读本身的官方文档。下面附上文档链接和Dockerfile仓库地址。
阅读链接
Docker get started docker的官方文档
Docker hub 可以从这里得到各种语言的环境脚本用于继承
推荐阅读