Skip to content

docker 部署 python 应用

首先查看python基础镜像的介绍,分两步

在app目录创建一个Dockerfile

Dockerfile
FROM python:3

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
#使用清华镜像
#RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
COPY . .

CMD [ "python", "./your-daemon-or-script.py" ]

FROM python:3:这是Docker镜像的基础图像。它指定了使用的基础镜像,即Python 3的官方镜像。在构建过程中,将从Docker仓库中获取该基础镜像。

WORKDIR /usr/src/app:这个指令设置了工作目录,即在镜像中运行的命令的默认目录。在这个例子中,工作目录被设置为/usr/src/app。

COPY requirements.txt ./:这个指令将主机(构建环境)中的requirements.txt文件复制到镜像中的当前工作目录(./表示当前目录)。

RUN pip install --no-cache-dir -r requirements.txt:这个指令运行了一个命令,使用pip工具安装了requirements.txt文件中列出的Python依赖包。--no-cache-dir选项用于在安装过程中不使用缓存,以减少镜像大小。

COPY . .:这个指令将当前目录中的所有文件和文件夹复制到镜像的当前工作目录中。这包括Dockerfile所在的目录中的文件。

CMD [ "python", "./your-daemon-or-script.py" ]:这个指令定义了默认的容器启动命令。在这个例子中,它指定了要在容器中运行的Python脚本,your-daemon-or-script.py。这意味着当容器启动时,将执行该脚本。

构建并运行镜像

docker build -t my-python-app .
docker run -it --rm --name my-running-app my-python-app

运行简单的python脚本

docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:3 python your-daemon-or-script.py