PyCharm 2025.3 Help

使用 Docker 配置解释器

介绍

PyCharm 与 Docker 的集成使您能够在部署于 Docker 容器中的不同配置的开发环境中运行应用程序。

先决条件

请确保满足以下先决条件:

  • 已安装 Docker,如 Docker 文档 所述。

    您可以在不同平台上安装 Docker,但此处我们将使用 Windows 安装。

    请注意,您可能希望在不同平台上重复本教程;然后使用适用于 macOSLinux 的 Docker 安装(也提供 Ubuntu 及其他发行版相关的说明)。

  • 您的互联网连接稳定,以便 PyCharm 能够下载并运行 busybox:latestBusyBox Docker 官方镜像 的最新版本)。 使用 Docker 成功配置解释器后,您即可离线。

  • 开始使用 Docker 之前,请确保已启用 Docker 插件。 该插件与 PyCharm 一同捆绑,默认启用。 如果未启用该插件,请在 插件 设置页面  Ctrl+Alt+S 上按 安装插件 中的说明将其启用。

    设置 对话框(Ctrl+Alt+S )中,选择 构建、执行、部署 | Docker ,并在 使用以下方式连接到 Docker 守护进程 下选择 适用于 <your operating system> 的 Docker。 例如,如果您使用 macOS,请选择 适用于 Mac 的 Docker。 有关详细信息,请参阅 Docker 设置

准备示例

创建 Python 项目QuadraticEquation添加 Solver.py 文件,并复制并粘贴以下代码:

import math class Solver: def demo(self, a, b, c): d = b ** 2 - 4 * a * c if d > 0: disc = math.sqrt(d) root1 = (-b + disc) / (2 * a) root2 = (-b - disc) / (2 * a) return root1, root2 elif d == 0: return -b / (2 * a) else: return "This equation has no roots" if __name__ == '__main__': solver = Solver() while True: a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = solver.demo(a, b, c) print(result)

将 Docker 配置为远程解释器

现在,让我们定义一个基于 Docker 的远程解释器。

  1. 请执行下列任一操作:

    • 点击 Python 解释器选择器 ,并选择 添加新解释器

    • Ctrl+Alt+S 打开 设置 并导航到 Python | 解释器

    • 点击 Python 解释器选择器 ,并选择 解释器设置。 点击可用解释器列表旁的 添加解释器 链接。

  2. 点击可用解释器列表旁的 添加解释器 链接,然后选择 在 Docker 上

  3. Docker 服务器 下拉列表中选择现有的 Docker 配置。

    或者,点击 ,执行以下步骤以创建新的 Docker 配置:

    创建 Docker 配置

    点击 添加按钮 以添加 Docker 配置,并指定如何连接到 Docker 守护进程。

    连接设置取决于您的 Docker 版本和操作系统。 有关更多信息,请参阅 Docker 连接设置

    应在对话框底部出现 连接成功 消息。

    Docker 连接设置

    有关在 Windows 或 macOS 上使用 Docker 时,将本地路径映射到运行 Docker 守护进程的虚拟机的更多信息,请参阅 Windows 与 macOS 主机的虚拟机路径映射。 无法对映射的本地路径之外的目录使用卷和绑定挂载。

    在 Linux 主机上没有此表,在该平台上 Docker 原生运行,您可以将任意目录挂载到容器。

  4. 接下来的操作取决于您是希望从 Docker 注册表拉取预构建的镜像,还是从 Dockerfile 在本地构建镜像。

    拉取 Docker 镜像

    选择 拉取或使用现有镜像 ,并在 镜像标记 字段中指定所需镜像的标签。

    通过拉取镜像创建 Docker 解释器
    构建 Docker 镜像

    选择 构建 ,并根据需要更改 Dockerfile上下文文件夹 字段中的默认值。

    通过构建镜像创建 Docker 解释器

    如有需要,展开 可选 部分并指定以下内容:

    镜像标记

    为构建的镜像指定可选的名称和标签。

    这有助于在将来引用该镜像。 如果将该字段留空,镜像将只有一个随机的唯一标识符。

    构建选项

    设置受支持的 docker build 选项

    例如,您可以使用 --label 选项为构建的镜像指定元数据。

    构建实参

    指定构建时变量的值,这些变量在构建过程中可像常规环境变量一样访问,但不会保留在中间或最终镜像中。

    这类似于在 docker build 命令中使用 --build-args 选项。

    这些变量必须在 Dockerfile 中使用 ARG 指令进行定义。 例如,您可以为要使用的基础镜像的版本定义一个变量:

    ARG PY_VERSION=latest FROM python:$PY_VERSION

    在这种情况下, PY_VERSION 变量默认为 latest ,除非您将其重新定义为构建时参数,否则 Dockerfile 将生成带有可用最新 Python 版本的镜像。 如果设置 PY_VERSION=3.10 ,Docker 将改为拉取 python:3.10 ,这将运行一个 Python 版本为 3.10 的容器。

    重新定义 PY_VERSION 参数类似于设置以下命令行选项:

    --build-arg PY_VERSION=3.10

    您可以提供多个参数,使用空格分隔。

  5. 等待 PyCharm 连接到 Docker 守护进程并完成容器检查。

    Docker 容器检查已完成
  6. 接下来,选择在 Docker 容器中使用的解释器。 您可以选择容器中已配置的任意 virtualenv 或 conda 环境,或选择系统解释器。

    为 Docker 目标选择系统解释器
  7. 点击 确定

    配置好的远程解释器将添加到列表中。

在 Docker 容器中运行应用程序

在装订区域中,在 main 语句旁边,点击 图标,并选择 运行 'solver'

运行上下文菜单

脚本在 运行 工具窗口中启动。 为脚本提供值:

在 Docker 容器中运行示例

切换到 服务 工具窗口以预览容器详细信息。 展开 容器 节点并选择正在运行的容器。

Services 工具窗口中的 Docker 容器

请注意, 日志 选项卡包含相同的执行结果。

在 Docker 容器中调试应用程序

接下来,让我们调试该应用程序。 为此,请通过点击行号在计算 d 的那一行设置一个断点。 然后在装订区域中点击 ,并选择 调试 'solver'

设置断点并启动调试器

调试器同样在 Docker 容器中运行:

在 Docker 容器中进行调试

不过,此时该容器具有不同的 id,因此名称也不同。

总结

让我们总结一下借助 PyCharm 完成的工作:

  • 我们创建了一个项目并添加了一个 Python 脚本。

  • 我们配置了远程解释器。

  • 我们在 Docker 容器中运行并调试了脚本。

  • 最后,我们启动了 Docker 工具窗口,并查看了在 Terminal 中可见的所有详细信息。

有关更多信息,请观看以下视频教程:

最后修改日期: 2025年 12月 2日