GoLand 2025.2 Help

Dockerfile 运行配置

使用此类配置可从 Dockerfile 构建镜像,然后从该镜像派生容器。

Dockerfile 运行配置对话框

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

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

说明

名称(N)

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

允许多个实例(U)

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

默认情况下该选项处于禁用状态,当您启动此配置时如果另一个实例仍在运行,GoLand 会建议停止正在运行的实例并启动另一个。这在运行配置消耗大量资源且没有充分理由运行多个实例的情况下非常有帮助。 这在运行配置消耗大量资源且没有充分理由运行多个实例的情况下非常有帮助。

存储为项目文件(S)

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

默认情况下该选项处于禁用状态,GoLand 会将运行配置设置存储在 .idea/workspace.xml

服务器

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

Dockerfile

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

镜像标记

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

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

容器名称

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

这类操作相当于在 docker run 命令中使用 --name 选项。

执行前(B)

指定在启动运行配置前要执行的任务列表。 例如,运行另一个配置、构建所需构件、运行某个外部工具或 Web 浏览器等。

点击 “添加”按钮 或按 Alt+Insert 添加可用任务之一。

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

显示此页面

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

激活工具窗口

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

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

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

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

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

说明

上下文文件夹

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

构建实参

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

这类操作相当于在 docker build 命令中使用 --build-args 选项。

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

ARG PGTAG=latest FROM postgres:$PGTAG

此情况下, PGTAG 变量默认值为 latest ,D​​ockerfile 将生成一个包含 PostgreSQL 最新版本的镜像,除非您将其重新定义为构建时参数。 如果设置了 PGTAG=9 ,Docker 将改为拉取 postgres:9 ,并运行包含 PostgreSQL 版本 9 的容器。

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

--build-arg PGTAG=9

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

构建选项

设置支持的 docker build 选项

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

随机发布所有暴露端口

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

这类似于在命令行中使用 -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 目录( /JetBrains )挂载到容器内的某个目录( /var/lib/pgsql/data )。 以这种方式挂载卷类似于设置以下命令行选项:

-v /JetBrains:/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 选项。

显示命令预览

预览将用于执行运行配置的最终命令。

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