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

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