如何通过docker-compose 运行 python 程序

发布于 2020-09-30 15:09:48

前言

python项目大多都需要引入而外的模块,显然每个项目的模块都装在一起显然不好管理,而是应该给每个项目建立一个专属的python环境。像docker、anaconda、python3自带的venv都可以用来建立python环境。而本文将介绍docker下建立独立的python运行环境。

项目介绍

一个用Flask写的简单web服务
http端口是1068
为了演示方便,Dockerfile、requirements.txt等都放在项目目录下:
image.png

流程

  1. 到python项目里生成requirements.txt
  2. 编写Dockerfile,自动安装requirements.txt里的依赖
  3. 编写docker-compose.yml,映射对应端口和目录
  4. 最后服务跑起来

生成requirements.txt

如果不了解requirements.txt的同学,建议先百度下。
把目录切换到项目下,使用命令生成requirements.txt:pip freeze > requirements.txt
打开requirements.txt,会有类似的内容:
image.png

编写Dockerfile

FROM python:3

WORKDIR /usr/src/app

COPY requirements.txt ./

RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir -r requirements.txt

CMD [ "python", "./index.py" ]

编写docker-compose.yml

langid:
  build: .
  ports:
    - "8080:1068"
  volumes:
    - "./:/usr/src/app"
  container_name: python-app

启动docker-compose up

0 条评论

发布
问题