PyCharm 2025.3 Help

Dockerfile 运行配置

使用此类配置从 Dockerfile 构建镜像,然后基于该镜像创建容器。

Dockerfile 运行配置对话框

Docker 使用 docker build 命令从 Dockerfile 构建镜像,然后使用 docker run 命令基于该镜像启动容器。

默认情况下, Dockerfile 配置包含以下选项:

说明

名称(N)

为运行配置指定名称,以便在编辑或运行时能快速识别。

允许多个实例(U)

允许并行运行此运行配置的多个实例。

默认禁用。当您在另一个实例仍在运行时启动此配置,PyCharm 会建议停止正在运行的实例并启动另一个。 当某个运行配置占用大量资源且没有充分理由运行多个实例时,这很有用。

存储为项目文件(S)

将包含运行配置设置的文件保存下来,以便与其他团队成员共享。 默认位置为 .idea/runConfigurations 。 但是,如果您不希望共享 .idea 目录,您可以将该配置保存到项目内的其他任意目录。

默认禁用,PyCharm 会将运行配置设置存储在 .idea/workspace.xml 中。

服务器

选择用于该运行配置的 Docker 守护进程连接

Dockerfile

指定用于构建镜像的 Dockerfile 的名称和位置。

镜像标记

为构建出的镜像指定可选的名称和标签。

这有助于将来引用该镜像。 如果将该字段留空,镜像将只有一个随机的唯一标识符。

容器名称

为容器指定一个可选名称。 如果留空,Docker 将为容器生成一个随机名称。

这类似于在 docker run 命令中使用 --name 选项。

执行前(B)

指定在启动运行配置之前要执行的任务列表。 例如,运行其他配置、构建所需制品、运行某些外部工具或 Web 浏览器等。

点击 添加按钮 或按 Alt+Insert 以添加一项可用任务。

使用 上移按钮下移按钮 在列表中移动任务,以更改任务的执行顺序。 选择任务并点击 编辑按钮 以编辑该任务。 点击 移除按钮 可将所选任务从列表中移除。

显示此页面

在实际启动之前显示运行配置设置。

激活工具窗口

根据配置类型,在启动此运行配置时打开 运行调试服务 工具窗口。 如果禁用此选项,您可以手动打开该工具窗口:

  • 视图(V) | 工具窗口 | 运行Alt+4

  • 视图(V) | 工具窗口 | 调试Alt+5

  • 视图(V) | 工具窗口 | 服务Alt+8

聚焦工具窗口

当测试运行时,将焦点置于运行配置工具窗口。

使用 修改选项(M) 菜单为运行配置添加高级选项:

说明

上下文文件夹

指定 Docker 守护进程在构建过程中将使用的本地目录。 Dockerfile 中的所有主机路径都将相对于此目录进行处理。 默认情况下,如果留空,Docker 将使用 Dockerfile 所在的同一目录。

构建实参

指定构建时变量的值,这些变量在构建过程中可像常规环境变量一样访问,但不会保留在中间镜像或最终镜像中。

这类似于在 docker build 命令中使用 --build-args 选项。

这些变量必须在 Dockerfile 中使用 ARG 指令进行定义。 例如,您可以为将要使用的基础镜像的版本定义一个变量:

ARG PY_VERSION=latest FROM python:$PY_VERSION

在此情况下, PY_VERSION 变量的默认值为 latest ,除非您将其重新定义为构建时参数,否则 Dockerfile 将生成包含最新可用的 Python 版本的镜像。 如果您将其设置为 PY_VERSION=3.10 ,Docker 将改为拉取 python:3.10 ,从而运行一个 Python 版本为 3.10 的容器。

重新定义 PY_VERSION 参数类似于设置以下命令行选项:

--build-arg PY_VERSION=3.10

您可以提供多个参数,使用空格分隔。

构建选项

设置支持的 docker build 选项

例如,您可以使用 --label 选项为构建的镜像指定元数据。

随机发布所有暴露端口

将所有已暴露的容器端口发布到主机上的随机空闲端口。

这类似于在命令行中使用 -P--publish-all 选项。

绑定端口

将特定的容器端口映射到主机上的特定端口。

这类似于在命令行中使用 -p--publish 选项。

绑定端口 字段中点击 浏览 ,指定应将主机上的哪些端口映射到容器中的哪些端口。 您还可以提供特定的主机 IP,从该地址可以访问该端口(例如,您可以将其设置为 127.0.0.1 ,使其只能在本地访问,或设置为 0.0.0.0 ,将其向您网络中的所有计算机开放)。

假设您已在主机端口 5432 上运行 Django,并希望在容器中再运行一个 Django 实例,并通过主机上的端口 5433 进行访问。 将主机端口 5433 绑定到容器中的端口 5432 类似于设置以下命令行选项:

-p 5433:5432

您可以在 运行选项 字段中显式设置此选项,而无需配置 绑定端口 字段。

入口点

覆盖镜像的默认 ENTRYPOINT

这类似于在命令行中使用 --entrypoint 选项。

命令

覆盖镜像的默认 CMD

这类似于将该命令作为 docker run 的参数进行添加。

绑定挂载

将主机上的文件和目录挂载到容器中的特定位置。

这类似于在命令行中使用 -v--volume 选项。

绑定挂载 字段中点击 浏览 ,指定应挂载的主机目录以及容器中对应的路径。 如果要禁用对容器卷的写入,请选择 只读

例如,您可以将主机上的本地 Django 目录( Users/Shared/django-data )挂载到容器内的某个目录( /var/lib/django-data )。 以此方式挂载卷类似于设置以下命令行选项:

-v Users/Shared/django-data:/var/lib/django-data

您可以在 运行选项 字段中显式设置此选项,而无需配置 绑定挂载 字段。

环境变量

指定环境变量。 存在与您正在使用的基础镜像相关的环境变量,这些变量由 Dockerfile 中的 ENV 指令定义。 还有 Docker 会为每个新容器自动设置的环境变量。 使用此字段可覆盖任何变量或指定其他变量。

这类似于在命令行中使用 -e--env 选项。

环境变量 字段中点击 浏览 ,以添加变量名称和值。

例如,如果您希望默认使用特定用户名连接 Django(而不是运行该应用程序的操作系统用户名),可以将 DJANGO_USER 变量设置为所需的值。 这类似于设置以下命令行选项:

--env DJANGO_USER=%env-var-value

您可以在 运行选项 字段中显式设置此选项,而无需配置 环境变量 字段。

运行选项

设置其他受支持的 docker run 选项。

例如,要将容器连接到 my-net 网络并为其设置 my-app 别名,请指定以下内容:

--network my-net --network-alias my-app

附加到容器

附加到容器的标准输入、输出和错误流。

这类似于在命令行中使用 -a--attach 选项。

显示命令预览

预览用于执行该运行配置的结果命令。

最后修改日期: 2025年 12月 2日