使用 Docker Compose 配置解释器
先决条件
请确保满足以下先决条件:
您具有稳定的 Internet 连接,以便 PyCharm 可以下载并运行
busybox:latest(BusyBox Docker 官方镜像 的最新版本)。 使用 Docker 成功配置解释器后,您即可离线工作。已安装 Docker。 您可以在各种平台上安装 Docker,但此处我们将以 macOS 的安装为例。
请注意,您可能希望在不同平台上重复本教程;然后针对 Windows 和 Linux 使用相应的 Docker 安装(也提供了 Ubuntu 等其他发行版的相关说明)。
在开始使用 Docker 之前,请确保已启用 Docker 插件。 该插件与 PyCharm 捆绑,并默认启用。 如果插件未启用,请在 插件 设置页面  Ctrl+Alt+S 按照 安装插件 中的说明将其启用。
在 设置 对话框(Ctrl+Alt+S )中,选择 ,然后在 使用以下方式连接到 Docker 守护进程 下选择 适用于 <您的操作系统> 的 Docker。 例如,如果您使用的是 macOS,请选择 适用于 Mac 的 Docker。 详见 Docker 设置。
请注意,无法将任何 Python 软件包安装到基于 Docker 的项目解释器中。
准备示例
启用 Django 插件
此功能依赖于 Django 插件,该插件在 PyCharm 中已捆绑并默认启用。 如果相关功能不可用,请确保您未禁用该插件。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 Django 插件,并选中其名称旁的复选框。
我们将使用一个 Django 应用程序,其中 PostgreSQL 数据库在单独的容器中运行。
在欢迎屏幕的左侧窗格中,点击 克隆。
在 从版本控制获取 对话框中,指定 远程存储库 的 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 解释器选择器 并选择 添加新解释器。
按 Ctrl+Alt+S 打开 设置 ,并导航到 。
点击 Python 解释器选择器 并选择 解释器设置。 点击可用解释器列表旁的 添加解释器 链接。
点击可用解释器列表旁的 添加解释器 链接,并选择 在 Docker Compose 上。
在 服务器 下拉列表中选择 Docker 配置。
在 配置文件 中指定 docker-compose.yml 文件,并选择服务。

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

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

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

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

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

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

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