logo 在PyCharm中配置项目 我也要发布文档

(十二):使用Docker Compose配置远程解释器


PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。

PyCharm最新版本2019.3现已发布,增加用于Jupyter笔记本的交互式小部件,MongoDB支持以及所有Python 3.8功能的代码帮助,还有其他功能改进提高Python语言开发效率!小编已将PyCharm2019.3安装包上传至慧都官网,感兴趣的朋友欢迎下载体验~

点击下载PyCharm最新版2019.3

摘要

让我们总结一下在PyCharm的帮助下所做的事情:

  • 我们从GitHub下载了Django应用程序并打开了它。

  • 我们向项目添加了特定的Docker Compose文件。

  • 我们基于Docker Compose配置了一个远程解释器。

  • 我们在Docker Compose容器中运行Django应用程序。

先决条件

确保满足以下先决条件:

  • 您的网络连接稳定。

    要使用Docker进行操作,您需要在计算机上使用busybox映像。确保您具有稳定的Internet连接,以便PyCharm可以下载并运行busybox:latest。成功配置Docker后,您可以脱机。

  • Docker已安装。您可以在各种平台上安装Docker,但是在这里我们将使用 Windows 安装。

    请注意,您可能想在不同的平台上重复本教程。然后将Docker安装用于macOS 和 Linux(Ubuntu,也提供其他与发行版相关的说明)。

  • 在开始使用Docker之前,请确保已启用Docker插件。该插件与PyCharm捆绑在一起,并且默认情况下处于激活状态。如果未激活插件,请在“ 插件”页面上启用设置/首对话框 Ctrl+Alt+S 中描述 管理插件。

    如果您正在使用Windows 的Docker,请在Docker设置的`` 常规''部分中启用tcp:// localhost:2375上没有TLS选项的Expose守护程序。

准备一个例子

我们实际上可以重复使用与Docker相同的示例,但是对于Docker Compose来说,这没有意义-太简单了...

为了显示Docker Compose应用程序的实际示例,我们将使用Django应用程序和在单独容器中运行的PostgreSQL数据库。 从GitHub获取项目, 然后在PyCharm中打开它(File | Open)。

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

为Docker和Docker Compose添加文件

在“项目”工具窗口中,右键单击项目根目录,然后选择“ 新建” |“新建”。File Alt+Insert,输入文件名(此处为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文件重复相同的步骤,然后输入以下代码:
version: '2'
services:
    web:
        build: .
        ports:
            - "8000:8000"
        volumes:
            - .:/app
        links:
            - db

    db:
        image: "postgres:9.6"
        ports:
            - "5432:5432"
        environment:
            POSTGRES_PASSWORD: hunter2
让我们看一下docker-compose.yml文件。该文件定义了2个服务: web和db,并将它们链接在一起。

配置Docker

现在我们已经准备好示例,让我们配置Docker。

为此,请打开“设置”对话框(Ctrl+Alt+S或单击设定值 主工具栏上的),然后单击“ 构建,执行,部署”节点下的Docker页面。单击创建一个Docker服务器。

接受建议的默认值:


对于macOS,选择Docker for Mac连接到Docker守护程序。


路径映射设置不可用在Linux上。因此,如果要将虚拟机上的某些目录映射到本地Linux机器上的某个路径,则必须手动执行。

接下来,应用更改。

将Docker Compose配置为远程解释器

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

确保已在计算机上下载并安装了Python

通过以下两种方式打开“ 添加Python解释器”对话框:

  • 当您在编辑器中时,最方便的方法是使用状态栏中Python Interpreter小部件单击小部件,然后选择添加解释器...

  • 如果在“ 设置/首选项”对话框中Ctrl+Alt+S,选择“ 项目<项目名称> |项目”。项目口译员单击配置项目解释器图标,然后选择添加

在打开的对话框中,选择Docker Compose选项,从下拉列表中选择Docker服务器,Docker Compose服务(在此web),配置文件(在此docker-compose.yml)和映像名称(在此python)。

为什么我们选择了web事实解释了这一选择,因为在配置了基于Docker-Compose的解释器之后,我们将能够创建常规运行配置,这将改变我们选择的容器的行为。因此,如果要调试容器中的代码,则应在此处选择该代码。compose文件中的所有其他容器将始终与此容器一起启动,但是您将无法通过PyCharm影响它们的行为-它们将始终像从命令行docker-compose up中使用命令一样起作用。

接下来,等待PyCharm启动Docker-Compose配置以进行扫描和编制索引:


使用Docker工具窗口

既然我们已经配置了Docker,那么服务工具窗口按钮将出现在PyCharm主窗口的底部。单击此按钮,查看您的容器正在运行:


配置数据库凭证

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

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

在Docker-Compose下运行您的应用程序

首先,在执行Django应用程序时,我们必须运行迁移。

为此,选择“ 工具” |“工具”。运行“ manage.py”任务并输入migrate

接下来,创建一个普通的Django服务器运行/调试配置。为此,请从主菜单中选择编辑配置...在打开的对话框中,单击为Django服务器添加运行/调试配置"并选择Django Server


您唯一需要注意的是,必须将Host字段设置为 0.0.0.0-以确保我们侦听来自Docker容器外部的请求。

启动此配置(Run | Run'RunDjangoApp'):

要在Web浏览器中查看输出,请访问http:// localhost:8000 (在地址栏中,将0.0.0.0更改为localhost):

如果您使用的是Docker Machine,请改用该计算机的IP地址。


**想要了解或购买Pycharm正版授权的朋友欢迎咨询慧都在线客服