使用 Docker Compose 配置解释器
先决条件
确保满足以下前提条件:
您的网络连接稳定,因此 PyCharm 可以下载并运行
busybox:latest(BusyBox Docker 官方镜像的最新版本)。 一旦成功使用 Docker 配置了解释器,您就可以离线。Docker 已安装。 您可以在各种平台上安装 Docker,但这里我们将使用 macOS 安装。
请注意,您可能希望在不同平台上重复此教程;然后使用适用于 Windows 和 Linux (Ubuntu 及其他发行版的相关说明也可用)的 Docker 安装。
在开始使用 Docker 之前,请确保已启用 Docker 插件。 该插件随 PyCharm 一起捆绑,并默认激活。 如果插件未激活,请按照 安装插件 中描述的方式,在 插件 设置页面  Ctrl+Alt+S 启用它。
在 设置 对话框(Ctrl+Alt+S )中,选择 ,并在 使用以下方式连接到 Docker 守护进程 下选择 Docker for <您的操作系统>。 例如,如果您使用的是 macOS,请选择 Docker for Mac。 在 Docker 设置 中查看更多详细信息。
请注意,您无法向基于 Docker 的项目解释器中安装任何 Python 包。
准备一个示例
启用 Django 插件
此功能依赖于 Django 插件,该插件默认情况下已捆绑并在 PyCharm 中启用。 如果相关功能不可用,请确保没有禁用该插件。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 Django 插件,并选中插件名称旁边的复选框。
让我们使用一个运行在单独容器中的带有 PostgreSQL 数据库的 Django 应用程序。
在欢迎屏幕上,点击 从 VCS 获取。
在 从版本控制获取 对话框中,指定 远程存储库 的 URL,然后点击 克隆。
PyCharm 建议根据记录在 文件中的项目需求创建一个虚拟环境。

点击 确定 创建环境。
IDE 提供的另一个提示是检测数据源。 点击 连接到数据库 设置数据库。

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

完成此操作后,您的示例已准备就绪,您可以开始配置 Docker 容器。
对于此 Django 应用程序,让我们创建两个容器:一个用于数据库,一个用于应用程序本身。 Docker Compose 将把这两个容器链接在一起。
为 Docker 和 Docker Compose 添加文件
在 项目 工具窗口中,右键点击项目根目录,然后从上下文菜单中选择 。 输入文件名: Dockerfile 。
将以下代码复制并粘贴到 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"]然后再次右键点击项目根目录,从上下文菜单中选择 ,并创建 docker-compose.yml 文件。
将以下代码复制并粘贴到 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此文件定义了两个服务:
web和db,并将它们链接在一起。
配置 Docker
现在您已经准备好了示例,让我们配置 Docker。
按下 Ctrl+Alt+S 以打开设置,然后选择 。
点击
创建一个 Docker 服务器。 接受建议的默认值:

如果您在自定义位置安装了 Docker,可能需要 指定路径 到 Docker CLI 可执行文件。
点击 确定 以保存更改。
将 Docker Compose 配置为远程解释器
现在让我们基于 Docker Compose 定义一个远程解释器。
请执行以下操作之一:
单击 Python Interpreter 选择器 并选择 添加新的解释器。
按下 Ctrl+Alt+S 以打开 设置 并导航到 。
单击 Python Interpreter 选择器 并选择 解释器设置。 点击可用解释器列表旁的 添加解释器 链接。
点击可用解释器列表旁的 添加解释器 链接并选择 在 Docker Compose 上。
在 服务器 下拉菜单中选择 Docker 配置。
请在 docker-compose.yml 文件中指定 配置文件 并选择服务。

可选地,指定 环境变量并编辑 Compose 项目名称。
等待 PyCharm 创建并配置新的目标:

选择一个解释器以在容器中使用。 您可以选择容器中已配置的任何 virtualenv 或 conda 环境,或者选择系统解释器。

点击 确定。
配置的远程解释器已添加到列表中。
使用 Docker 工具窗口
当您配置了 Docker 后, 服务 工具窗口会出现在 PyCharm 主窗口的底部。 您可以点击 docker-compose up ,在
services 组旁边的边栏中启动 db 和 web 服务。

请参阅 Docker 以获取有关在 服务 工具窗口中管理 Docker 容器的更多详细信息。
配置数据库凭据
修改 Django 项目中 settings.py 文件的 DATABASES 部分以添加数据库配置详细信息:
运行应用程序
从主菜单中选择 并输入
migrate以运行迁移并执行 Django 应用程序。为 Django 服务器创建运行/调试配置。 为此,从主菜单中选择 。
在 运行/调试配置 对话框中,点击
添加新配置 并选择 Django 服务器。

将 主机 字段设置为 0.0.0.0 以确保 Docker 容器对外部请求开放。 要允许服务器在此地址启动,请将
0.0.0.0添加到ALLOWED_HOSTS列表中的 settings.py 。要运行新创建的配置,从主菜单中选择 。

要在您的网络浏览器中查看输出,请访问 http://localhost:8000:

调试应用程序
创建运行/调试配置后,您还可以调试您的应用程序。
设置一个 断点 (对于 Django 应用程序,您可以在模板中设置它)。
请执行以下操作之一:
请选择 从主菜单。
点击
调试 ,在运行/调试配置下拉菜单旁边,选择
RunDjangoApp配置。
有关在容器中调试应用程序的更多信息,请参阅 在 Docker 容器中调试。