先决条件

确保满足以下先决条件:

  • 你有一个稳定的互联网连接。

确保您有稳定的 Internet 连接,以便 PyCharm 可以下载和运行busybox:latest. 成功配置 Docker 后,就可以下线了。

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

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

  • 在开始使用 Docker 之前,请确保已启用Docker插件。该插件与 PyCharm 捆绑在一起,默认情况下是激活的。如果插件未激活,请在 IDE 设置的插件Ctrl+Alt+S页面上启用它,如安装插件中所述。

在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,选择Build、Execution、Deployment | Docker,然后在Connect to Docker daemon with下为 <您的操作系统> 选择 Docker。例如,如果您使用的是 macOS,请选择Docker for Mac。在Docker 设置中查看更多详细信息。

请注意,您不能将任何 Python 包安装到基于 Docker 的项目解释器中。

准备一个例子

让我们使用 Django 应用程序和在单独容器中运行的 PostgreSQL 数据库。

  1. 按Ctrl+Alt+S打开 IDE 设置并选择Languages & Frameworks | 姜戈。确保选中启用 Django 支持复选框。然后单击确定关闭项目设置。
  2. 从 GitHub下载项目存档,解压缩并保存在本地驱动器上。
  3. 选择文件 | 从主菜单打开并指定下载项目的路径。
  4. PyCharm 可以根据requirements.txt文件中记录的项目需求建议创建一个虚拟环境。

1.png

单击确定以创建环境。

完成此操作后,您的示例已准备就绪,您可以开始配置 docker 容器。对于这个 Django 应用程序,让我们创建两个容器:一个用于数据库,一个用于应用程序本身。Docker Compose 会将两个容器链接在一起。

为 Docker 和 Docker Compose 添加文件

  1. 在Project工具窗口中,右键单击项目根目录并选择New | 来自上下文菜单的文件。输入文件名: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. 然后再次右键单击项目根目录,选择New | 从上下文菜单中创建文件,然后创建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

如果需要,您可以在docker-compose.yml文件中使用变量替换,例如:

db:
 image: "postgres:${POSTGRES_VERSION}"

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

2.png

配置 Docker

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

  1. 按Ctrl+Alt+S打开 IDE 设置并选择Build、Execution、Deployment | 码头工人。
  2. 单击添加 docker 服务器以创建 Docker 服务器。接受建议的默认值:

macOS

3.png

Windows

4.png

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

单击确定以保存更改。

将 Docker Compose 配置为远程解释器

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

  1. 确保您已在计算机上下载并安装Python。
  2. 执行以下操作之一:

    • 单击Python 解释器选择器并选择添加解释器。
    • 按Ctrl+Alt+S打开项目设置/首选项并转到项目 <项目名称> | Python 解释器。单击Python 解释器并选择添加。
  3. 在打开的对话框中,选择Docker Compose选项,从列表中选择 Docker 服务器、Docker Compose 服务(此处web)、配置文件(此处docker-compose.yml)和 Python 解释器路径(此处python)。

5.png

我们为什么选择web?这种选择的原因是,在配置了基于 Docker-Compose 的解释器之后,我们将能够创建常规运行配置,从而改变我们选择的容器的行为。因此,如果我们想在一个容器中调试代码,我们应该在这里选择那个。

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

使用 Docker 工具窗口

由于您已配置 Docker,服务工具窗口将出现在 PyCharm 主窗口的底部。您可以单击组运行所有服务旁边的装订线services以启动dbweb服务。

6.png

配置数据库凭据

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

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

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

  1. 要执行 Django 应用程序,请运行迁移。选择工具 | 从主菜单运行“manage.py”任务migrate并输入:

7.png

  1. 运行 Django 服务器运行/调试配置。为此,从主菜单中选择运行 | 编辑配置... 在打开的对话框中单击为 Django 服务器添加运行/调试配置并选择Django Server:

8.png

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

  1. 要运行新创建的配置,请选择Run | 从主菜单运行“RunDjangoApp” 。

9.png

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

10.png

如果您使用的是 Docker 机器,请改用机器的 IP 地址。

创建运行/调试配置后,您还可以在 Docker Compose 下调试您的应用程序。为此,设置一个断点(对于 Django 应用程序,您可以在模板中设置它),然后从主菜单中选择Run | 调试 'RunDjangoApp',或者只需单击启动调试器运行/调试配置下拉列表旁边并RunDjangoApp选择运行/调试配置。

11.png

标签: Pycharm注册码, Pycharm激活码, pycharm注册码2021, pycharm, pycharm教程, pycharm破解, pycharm破解插件, Pycharm基础教程, Pycharm高级教程, Pycharm核心教程, pycharm插件, pycharm破解教程, pycharm注册码失效, pycharm注册码永久, pycharm注册码2022, PyCharm入门教程, PyCharm注册码在线生成, PyCharm主题