Docker 容器
Docker 容器是对应镜像的运行时实例。 DataGrip 使用 Docker 运行配置 执行构建 Docker 镜像和运行容器的命令。
从已有镜像运行容器
您可以从任意本地现有的 Docker 映像运行一个容器,无论该映像是之前 pulled还是 built的。
在 服务 工具窗口中,选择一个图像并点击
或从上下文菜单中选择 创建容器。

在 创建容器 弹出窗口中,点击 创建…。
在打开的 创建Docker 配置 对话框中,您可以为该配置提供一个唯一名称并指定容器的名称。 如果您将 容器名称 字段留空,Docker 会为其提供一个随机唯一的名称。

完成后,点击 运行 以启动新配置。
这将创建并启动 Docker 映像运行配置。
从 Dockerfile 运行容器
打开您想要运行容器的 Dockerfile。
点击
图标,然后选择从此 Dockerfile 运行容器。

这将按照默认设置创建并启动 Dockerfile 运行配置 ,首先根据 Dockerfile 构建镜像,然后基于该镜像运行容器。
要使用自定义设置创建运行配置,请点击 左侧栏 中的 并选择 新建运行配置…。 您可以为构建的镜像指定一个自定义标签,还可以为容器指定一个名称,并指定一个用于读取 Dockerfile 的上下文文件夹。 上下文文件夹是有用的,例如,如果您有一些在 Dockerfile 范围之外的构件,您希望将这些构件添加到镜像的文件系统中。
与容器交互
创建的容器将列在 服务 工具窗口中。 默认情况下, 服务 工具窗口会显示所有容器,包括那些未运行的容器。 若要在列表中隐藏已停止的容器,请在工具栏中点击 ,选择 Docker ,然后点击 已停止容器 取消选中复选框。
当您选择一个容器时,您可以查看 构建日志 选项卡,该选项卡显示了相应的 Docker run configuration 在创建和启动容器时生成的部署日志。

仪表板 选项卡提供有关容器的重要信息。 除了名称和散列 ID,还列出了环境变量、端口和卷绑定。 您可以添加、编辑和删除环境变量、端口和卷绑定。 但是,这些更改需要您重新创建容器,并且不会更改用于创建此容器的 Docker run configuration。 这意味着当您下次运行该配置时,更改将不会持久保存。

有关更多信息,请参阅 容器仪表板。
在运行的容器内执行命令
在 服务 工具窗口中,右键点击容器名称,然后点击 Exec。
在 在容器中运行命令 弹窗中,点击 创建并运行… 创建并执行新命令。
或者,您可以选择一个之前运行过的命令。
在 Exec 对话框中,输入命令并点击 确定(O)。 例如:
ls /tmp列出 /tmp 目录的内容
mkdir /tmp/my-new-dir在 my-new-dir 目录内创建 /tmp 目录
/bin/bash开始
bash会话
如需更多信息,请参阅 docker exec命令参考。
查看有关运行中容器的详细信息
在 服务 工具窗口中,右键点击容器名称,然后点击 检查。
输出在 检查 选项卡上呈现为 JSON 对象。

如需了解更多信息,请参阅 docker inspect命令参考。
查看容器中运行的进程
在 服务 工具窗口中,右键点击容器名称,然后点击 显示进程。
输出在 进程 标签上呈现为一个 JSON 数组。
有关更多信息,请参阅 docker top命令参考。
将控制台附加到容器输出
在 服务 工具窗口中,右键点击容器,然后点击 附加。
控制台附加到在容器内运行的 ENTRYPOINT 进程的输出,并在 附加的控制台 选项卡上呈现。
详情请参阅 docker attach 命令参考。
浏览容器中的文件
在 服务 工具窗口中,右键点击容器,然后点击 显示文件。
DataGrip 执行
ls命令,并打开带有容器文件系统的 文件 选项卡。
在 文件 选项卡上,您可以双击任何文件在编辑器中查看。 DataGrip 以只读模式打开文件,因此您无法编辑或删除它。
SELinux 上的绑定挂载
如果主机使用了 SELinux ,该安全模块可能会阻止在容器内运行的进程访问已挂载的文件和目录。 为了避免这种情况,请使用 :z 选项标记挂载的文件和目录。 如需更多信息,请参阅 Configure the SELinux label。
当运行 Docker 容器时,DataGrip 可以自动将 :z 标志添加到主机上的所有卷绑定中,顶级目录(如 /bin )除外。
为绑定挂载应用 SELinux 标签
按 Ctrl+Alt+S 打开设置,然后选择 。
请选择 将:z 挂载选项应用于 SELinux 系统的几乎所有绑定卷。。
