编程学习网 > 编程语言 > Python > 使用Docker将Python项目容器化教程
2023
09-18

使用Docker将Python项目容器化教程

这是一个关于 dockerizing python 应用程序的简单教程。

什么是Docker?
Docker 是一个容器化框架,允许您在任何环境中部署和运行应用程序以及操作系统代码。可以把它想象成把你的应用程序放在一个可以在任何地方运输和运行的容器中。

为什么是Docker?
Docker 现在在软件工程行业无处不在。它确保部署过程中的一致性,并且可以让开发人员专注于应用程序开发,而不是被部署所困,从而节省开发人员的时间。

Docker and Python
Python 是现在最流行的编程语言,它在不同行业的采用正在增长。

它易于使用,并以其直观的语法和语言特性消除了进入编程行业的障碍。

由此可见,将这两种技术结合使用对开发人员是有好处的。使用python和docker的步骤包括:

编写 python 应用程序或脚本
添加 docker 文件
构建 docker 镜像
运行 docker 容器
第 1 步:一个简单的 Python 应用程序
让我们构建一个简单的 Python 应用程序,它从用户那里获取两个数字并将它们相加。

首先为本教程创建一个目录并进入该目录。

# creates docker-tutorial directory in your user folder
mkdir ~/docker-tutorial
cd docker-tutorial
接下来,将一个简单的文件添加到名为application.py.

我们的应用程序将是一个简单的命令行应用程序,它将从用户那里获取两个数字并将它们相加。如果用户不提供任何输入,应用程序将假定这两个数字都是0。

内容application.py如下图:

import sys

# yes, just adding two numbers
def add_two_numbers(a=0, b=0):
    result = a + b
    print(f"a is {a}")
    print(f"b is {b}")
    print(f"solution is {result}")


if __name__ == "__main__":
    if len(sys.argv) > 2:
        add_two_numbers(int(sys.argv[1]), int(sys.argv[2]))
    else:
        add_two_numbers()
第 2 步:添加 Dockerfile
接下来,让我们添加 dockerfile 来对这个应用程序进行 docker 化。这仍然是在docker-tutorial同一目录中完成的。

我们将该文件命名为Dockerfile。请注意,此文件没有扩展名。

该文件告诉 docker 守护进程如何定义容器以及如何构建和运行应用程序。

Dockerfile内容如下。

FROM python:3.10.6-alpine

WORKDIR /usr/src/app

COPY . .

RUN apk update

RUN chmod a+x ./*.py

ENTRYPOINT ["python", "-u", "./application.py" ]
我检查每一行并对其进行更多解释,以便您了解这里发生的事情。

FROM — 这定义了要构建的基础层图像。Docker 为图像构建层。这允许重新使用图像层,从而节省计算和空间。alpine是 python 基础映像的标签,它是 linux 的轻量级发行版。

WORKDIR — 用作容器主要工作空间的目录。所有命令都从此目录作为参考点运行。

COPY——此命令将文件从本地文件系统复制到容器文件系统。在上面的示例中,我们复制了本地目录中的所有文件。

RUN——在构建 docker 容器时运行命令。这里我们更新alpine linux镜像中的包,更改python应用文件的权限application.py

ENTRYPOINT——这是在 docker 容器启动时运行的命令,恰当地称为 ENTRYPOINT。

第 3 步:构建 Docker 镜像
现在让我们构建 docker 镜像。这只需通过

# run in the docker-tutorial directory
docker build -t myapp .
此命令在当前目录中创建一个 docker 镜像,并将其标记为myapp.

您应该能够使用此命令查看所有图像:

docker images
# REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
# myapp         latest    d7c9e6b8dc70   3 seconds ago   48.7MB
第 4 步:运行 Docker 容器
您现在可以运行您的 docker 容器

docker run myapp
# a is 0
# b is 0
# solution is 0
您也可以将参数传递给您的应用程序,类似于下面的命令

docker run myapp 1 2
# a is 1
# b is 2
# solution is 3

这就是 dockerize python 文件所需的全部!玩得开心,保持创意!

以上就是使用Docker将Python项目容器化教程的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取