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

Docker 使用 docker build 命令从 Dockerfile 构建镜像,然后使用 docker run 命令从中启动容器。
默认情况下, Dockerfile 配置具有以下选项:
项目 | 描述 |
|---|---|
名称(N) | 为运行配置指定一个名称,以便在编辑或运行时能快速识别。 |
允许多个实例(U) | 允许并行运行多个此运行配置实例。 默认情况下,它是禁用的,当您在另一个实例仍在运行时启动此配置时,DataGrip建议停止正在运行的实例并启动另一个实例。 这在运行配置消耗大量资源且没有充分理由运行多个实例时非常有用。 |
存储为项目文件(S) | 将运行配置设置保存到文件中,以便与其他团队成员共享。 默认位置是 .idea/runConfigurations 。 但是,如果您不想共享 .idea 目录,您可以将配置保存到项目中的任何其他目录。 默认情况下,它是禁用的,并且 DataGrip 将运行配置设置存储在 .idea/workspace.xml 。 |
服务器 | 请选择要用于运行配置的 Docker daemon connection。 |
Dockerfile | 指定用于构建镜像的 Dockerfile 的名称和位置。 |
镜像标记 | 为生成的镜像指定一个可选名称和标签。 这对将来参考图像会有所帮助。 如果您将该字段留空,图像将只有一个随机唯一标识符。 |
容器名称 | 请为容器指定一个可选名称。 如果为空,Docker 将为容器生成一个随机名称。 这类似于使用 |
执行前(B) | 指定在开始运行配置之前执行的任务列表。 例如,运行其他配置,构建必要的工件,运行一些外部工具或网络浏览器,等等。 点击 在列表中使用 |
显示此页面 | 在实际启动前显示运行配置设置。 |
激活工具窗口 | 根据配置类型,启动此运行配置时,打开 运行、 调试 或 服务 工具窗口。 如果此选项被禁用,您可以手动打开工具窗口:
|
使用 修改选项(M) 菜单向运行配置中添加高级选项:
项目 | 描述 |
|---|---|
上下文文件夹 | 在构建过程中,指定 daemon 将使用的本地目录。 Dockerfile 中的所有主机路径将相对于此目录进行处理。 默认情况下,如果您将其留空,Docker 会使用 Dockerfile 所在的同一目录。 |
构建实参 | 指定构建时变量的值,这些变量在构建过程中可以像常规环境变量一样访问,但不会在中间或最终镜像中持久存在。 这类似于使用 这些变量必须通过
ARG PGTAG=latest
FROM postgres:$PGTAG
在这种情况下, 将 --build-arg PGTAG=9
您可以提供用空格分隔的多个参数。 |
构建选项 | 设置支持的 例如,您可以使用 |
随机发布所有暴露端口 | 将所有公开的容器端口发布到主机上的随机空闲端口。 这类似于在命令行中使用 |
绑定端口 | 将特定容器端口映射到主机上的特定端口。 这类似于在命令行中使用 点击 假设您已经在主机端口 5432 上运行 PostgreSQL,并且您想在容器中运行另一个 PostgreSQL 实例,并通过主机上的端口 5433 访问它。 将主机端口 5433 绑定到容器中的端口 5432 类似于设置以下命令行选项: -p 5433:5432
您可以在 运行选项 字段中明确设置此选项,而不是配置 绑定端口 字段。 |
入口点 | 覆盖图像的默认 这类似于在命令行上使用 |
命令 | 覆盖图像的默认 这类似于将命令添加为 |
绑定挂载 | 将主机上的文件和目录挂载到容器中的特定位置。 这类似于在命令行中使用 点击 例如,您可以将主机上的本地 PostgreSQL 目录( /JetBrains )挂载到容器内的某个目录( /var/lib/pgsql/data )。 以这种方式挂载卷类似于设置以下命令行选项: -v /JetBrains:/var/lib/pgsql/data
您可以在 运行选项 字段中明确设置此选项,而不是配置 绑定挂载 字段。 |
环境变量 | 指定环境变量。 您所使用的基础镜像相关的环境变量是由 这类似于在命令行中使用 点击 例如,如果您想默认使用特定用户名连接到 PostgreSQL(而不是运行应用程序用户的操作系统名),可以将 --env PGUSER=%env-var-value
您可以在 运行选项 字段中明确设置此选项,而不是配置 环境变量 字段。 |
运行选项 | 设置任何其他支持的 docker run 选项。 例如,要将容器连接到 --network my-net --network-alias my-app
|
附加到容器 | 连接到容器的标准输入、输出和错误流。 这类似于在命令行中使用 |
显示命令预览 | 预览将用于执行 run 配置的结果命令。 |