在PyCharm中配置项目(十二):使用Docker Compose配置远程解释器
PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。
PyCharm最新版本2019.3现已发布,增加用于Jupyter笔记本的交互式小部件,MongoDB支持以及所有Python 3.8功能的代码帮助,还有其他功能改进提高Python语言开发效率!小编已将PyCharm2019.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浏览器中查看输出,请访问 (在地址栏中,将0.0.0.0更改为localhost):
如果您使用的是Docker Machine,请改用该计算机的IP地址。
**想要了解或购买Pycharm正版授权的朋友欢迎