Skip to content

快速参考

  • 由……维护
    Docker 社区

  • 何处获取帮助:
    Docker 社区 Slack、服务器故障、Unix & Linux 或 Stack Overflow

支持的标签及相应的 Dockerfile 链接

(见常见问题解答中“‘共享’和‘简单’标签之间的区别是什么?”)

简单标签

共享标签

快速参考(续)

什么是 PyPy?

PyPy 是一个 Python 解释器和即时编译器。PyPy 专注于速度、效率以及与原始 CPython 解释器的兼容性。

PyPy 最初是一个用 Python 语言本身编写的 Python 解释器。当前的 PyPy 版本是从 RPython 翻译为 C 代码并进行编译。PyPy 的 JIT(“即时”的缩写)编译器能够在运行时将 Python 代码转换为机器代码。

wikipedia.org/wiki/PyPy

logo

如何使用此图像

在你的 Python 应用程序项目中创建一个 Dockerfile

FROM pypy:3

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

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

或(如果你需要使用 Python 2):

FROM pypy:2

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

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

然后你可以构建并运行 Docker 镜像:

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

运行单个 Python 脚本

对于许多简单的单文件项目,你可能会发现编写完整的 Dockerfile 很不方便。在这种情况下,你可以直接使用 Python Docker 镜像来运行 Python 脚本:

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

或者(同样,如果你需要使用 Python 2):

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

图像变体

pypy 图像有多种类型,每种都针对特定的用例而设计。

pypy:<version>

这是事实上的镜像。如果你不确定自己的需求是什么,你可能想要使用这个。它被设计既可用作一次性容器(挂载你的源代码并启动容器以启动你的应用程序),也可用作构建其他镜像的基础。

其中一些标签可能包含诸如“书虫”或“靶心”之类的名称。这些是 Debian 发行版的套件代号,表明该镜像基于哪个发行版。如果你的镜像需要安装除镜像自带的软件包之外的任何其他软件包,你可能希望明确指定其中之一,以便在 Debian 有新版本发布时最大程度地减少损坏。

此标签基于 buildpack-depsbuildpack-deps 是为在其系统上有许多镜像的 Docker 普通用户设计的。按设计,它具有大量极其常见的 Debian 软件包。这减少了从它派生的镜像需要安装的软件包数量,从而减小了系统上所有镜像的总体大小。

pypy:<version>-slim

此镜像不包含默认标签中包含的常见软件包,仅包含运行 pypy 所需的最小软件包。除非你在仅部署 pypy 镜像且有空间限制的环境中工作,否则我们强烈建议使用此存储库的默认镜像。

pypy:<version>-windowsservercore

此图像基于 Windows Server Core( microsoft/windowsservercore )。因此,它仅在该图像适用的地方起作用,例如 Windows 10 专业版/企业版(周年纪念版)或 Windows Server 2016。

有关如何在 Windows 上运行 Docker 的信息,请参阅 Microsoft 提供的相关“快速入门”指南:

许可证

查看此映像中包含的软件的许可证信息。

与所有 Docker 镜像一样,这些镜像可能还包含其他可能受其他许可证约束的软件(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。

一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 pypy/ 目录中找到。

对于任何预构建镜像的使用,镜像用户有责任确保对此镜像的任何使用都符合其中包含的所有软件的任何相关许可证。