RubyMine 2025.2 Help

Dockerfile 运行配置

使用此类配置从 Dockerfile 构建映像,然后从此映像派生一个容器。

Dockerfile 运行配置对话框

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

默认情况下, Dockerfile 配置具有以下选项:

项目

描述

名称(N)

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

允许多个实例(U)

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

默认情况下,它是禁用的,当您在另一个实例仍在运行时启动此配置时,RubyMine建议停止正在运行的实例并启动另一个实例。 这在运行配置消耗大量资源且没有充足理由运行多个实例时很有帮助。

存储为项目文件(S)

将运行配置设置保存到文件中,以便与其他团队成员共享。 默认位置是 .idea/runConfigurations 。 但是,如果您不想共享 .idea 目录,您可以将配置保存到项目中的任何其他目录。

默认情况下,它是禁用的,并且 RubyMine 将运行配置设置存储在 .idea/workspace.xml

服务器

请选择要用于运行配置的 Docker daemon connection

Dockerfile

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

镜像标记

为生成的镜像指定一个可选名称和标签。

这对将来参考图像会有所帮助。 如果您将该字段留空,图像将只有一个随机唯一标识符。

容器名称

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

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

执行前(B)

指定在开始运行配置之前要执行的任务列表。 例如,运行其他配置,构建必要的工件,运行一些外部工具或网络浏览器,等等。

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

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

显示此页面

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

激活工具窗口

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

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

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

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

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

项目

描述

上下文文件夹

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

构建实参

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

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

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

ARG PGTAG=latest FROM postgres:$PGTAG

在这种情况下, PGTAG 变量将默认为 latest ,并且 Dockerfile 将会生成一个具有最新可用版本 PostgreSQL 的镜像,除非您将其重新定义为构建时参数。 如果您设置, PGTAG=9 ,Docker 将拉取 postgres:9 ,这将运行一个 PostgreSQL 版本 9 的容器。

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

--build-arg PGTAG=9

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

构建选项

设置支持的 docker build 选项

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

运行构建的镜像

如果选中,RubyMine 将在构建 Docker 镜像后运行它。

随机发布所有暴露端口

将所有公开的容器端口发布到主机上的随机空闲端口。

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

绑定端口

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

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

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

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

-p 5433:5432

您可以在 运行选项 字段中明确设置此选项,而不是配置 绑定端口 字段。

入口点

覆盖图像的默认 ENTRYPOINT

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

命令

覆盖图像的默认 CMD

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

绑定挂载

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

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

点击 浏览 并在 绑定挂载 字段中指定主机目录及其在容器中应挂载的相应路径。 选择 只读 如果您想禁用对容器卷的写入。

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

-v /Users/Shared/pg-data:/var/lib/pgsql/data

您可以在 运行选项 字段中明确设置此选项,而不是配置 绑定挂载 字段。

环境变量

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

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

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

例如,如果您想默认使用特定用户名连接到 PostgreSQL(而不是运行应用程序用户的操作系统名),可以将 PGUSER 变量设置为必要的值。 这类似于设置以下命令行选项:

--env PGUSER=%env-var-value

您可以在 运行选项 字段中明确设置此选项,而不是配置 环境变量 字段。

运行选项

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

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

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

附加到容器

连接到容器的标准输入、输出和错误流。

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

显示命令预览

预览将用于执行 run 配置的结果命令。

最后修改日期: 2025年 9月 26日