PyCharm 2025.3 Help

使用 Docker Compose 配置解释器

先决条件

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

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

  • 已安装 Docker。 您可以在各种平台上安装 Docker,但此处我们将以 macOS 的安装为例。

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

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

    设置 对话框(Ctrl+Alt+S )中,选择 构建、执行、部署 | Docker ,然后在 使用以下方式连接到 Docker 守护进程 下选择 适用于 <您的操作系统> 的 Docker。 例如,如果您使用的是 macOS,请选择 适用于 Mac 的 Docker。 详见 Docker 设置

请注意,无法将任何 Python 软件包安装到基于 Docker 的项目解释器中。

准备示例

启用 Django 插件

此功能依赖于 Django 插件,该插件在 PyCharm 中已捆绑并默认启用。 如果相关功能不可用,请确保您未禁用该插件。

  1. Ctrl+Alt+S 打开设置,然后选择 插件

  2. 打开 已安装 选项卡,找到 Django 插件,并选中其名称旁的复选框。

我们将使用一个 Django 应用程序,其中 PostgreSQL 数据库在单独的容器中运行。

  1. 在欢迎屏幕的左侧窗格中,点击 克隆

  2. 从版本控制获取 对话框中,指定 远程存储库 的 URL,然后点击 克隆

  3. PyCharm 建议基于记录在 requirements.txt 文件中的项目需求创建虚拟环境。

    创建虚拟环境

    点击 确定 以创建环境。

  4. IDE 提供的另一个提示是检测数据源。 点击 连接到数据库 以设置数据库。

    检测数据源

    您可能需要下载缺失的驱动程序,并检查其余配置选项:

    配置数据源

完成这些操作后,示例已就绪,您可以开始配置 Docker 容器。

对于此 Django 应用程序,我们创建两个容器:一个用于数据库,另一个用于应用程序本身。 Docker Compose 会将这两个容器链接在一起。

为 Docker 和 Docker Compose 添加文件

  1. 项目 工具窗口中,右键点击项目根目录,并在上下文菜单中选择 新建 | 文件。 输入文件名: Dockerfile

  2. 将以下代码复制并粘贴到 Dockerfile 文件中:

    FROM python:3.6.7 WORKDIR /app # By copying over requirements first, we make sure that Docker will cache # our installed requirements rather than reinstall them on every build COPY requirements.txt /app/requirements.txt RUN pip install -r requirements.txt # Now copy in our code, and run it COPY . /app EXPOSE 8000 CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
  3. 然后再次右键点击项目根目录,从上下文菜单中选择 新建 | 文件 ,并创建 docker-compose.yml 文件。

  4. 将以下代码复制并粘贴到 docker-compose.yml 文件中。

    version: '2' services: web: build: . ports: - "8000:8000" volumes: - .:/app links: - db db: image: "postgres:9.6" ports: - "5432:5432" environment: POSTGRES_PASSWORD: hunter2

    此文件定义了两个服务: webdb ,并将它们链接在一起。

配置 Docker

准备好示例后,接下来配置 Docker。

  1. Ctrl+Alt+S 打开设置,然后选择 构建、执行、部署 | Docker

  2. 点击 添加 Docker 服务器 以创建 Docker 服务器。 接受建议的默认值:

    Docker 设置

    如果您在自定义位置安装了 Docker,则可能需要指定 Docker CLI 可执行文件的路径。

    点击 确定 以保存更改。

将 Docker Compose 配置为远程解释器

现在基于 Docker Compose 定义远程解释器。

  1. 执行以下任一操作:

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

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

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

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

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

  4. 配置文件 中指定 docker-compose.yml 文件,并选择服务。

    创建新的 Docker Compose 目标

    可选:指定 环境变量 并编辑 Compose 项目名称

  5. 等待 PyCharm 创建并配置新的目标:

    配置 Docker Compose 目标
  6. 选择要在容器中使用的解释器。 您可以选择容器中已配置的任意 virtualenv 或 conda 环境,或选择系统解释器。

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

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

使用 Docker 工具窗口

配置 Docker 后, 服务 工具窗口会出现在 PyCharm 主窗口的底部。 您可以点击 services 组旁的装订区域中的 docker-compose updocker-compose up ,以启动 dbweb 服务。

Docker 工具窗口

有关在 服务 工具窗口中管理 Docker 容器的更多详细信息,请参阅 Docker

配置数据库凭据

在 Django 项目的 settings.py 文件中修改 DATABASES 部分,添加数据库配置详细信息:

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'postgres', 'USER': 'postgres', 'PASSWORD': 'hunter2', 'HOST': 'db' } }

运行应用程序

  1. 从主菜单中选择 工具 | 运行 'manage.py' 任务 ,并输入 migrate ,以运行迁移并启动 Django 应用程序。

  2. 创建 Django 服务器的运行/调试配置。 为此,请从主菜单中选择 运行 | 编辑配置

    运行/调试配置 对话框中,点击 为 Django 服务器添加运行/调试配置添加新配置 并选择 Django 服务器

    Django 服务器的运行/调试配置
  3. 主机 字段设置为 0.0.0.0 ,以确保 Docker 容器对外部请求开放。 要允许服务器在此地址启动,请将 0.0.0.0 添加到 settings.py 中的 ALLOWED_HOSTS 列表。

  4. 要运行新创建的配置,请从主菜单中选择 运行 | 运行 'RunDjangoApp'

    Docker compose run

要在您的 Web 浏览器中查看输出,请转到 http://localhost:8000

Django 应用程序输出

调试应用程序

创建运行/调试配置后,您还可以调试您的应用程序。

  1. 设置一个 断点 (对于 Django 应用程序,您可以在模板中设置)。

  2. 执行以下任一操作:

    • 从主菜单中选择 运行 | 调试 'RunDjangoApp'

    • 在选择了 RunDjangoApp 配置的运行/调试配置下拉列表旁,点击 启动调试器调试

有关在容器中调试应用程序的更多信息,请参阅 在 Docker 容器中调试

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