Docker 疑难解答
JetBrains 正在持续进行 Docker 插件的修复和改进。 您可以在我们的问题跟踪系统中找到 已知的 Docker 问题与功能请求列表 ,并为对您影响最大的项投票。 您也可以提交您自己的问题与功能请求。
如果您遇到以下问题,请尝试相应的建议解决方案:
- 无法从 PyCharm 连接到 Docker 守护进程
请确保:
有关详细信息,请参阅 Docker 连接设置。
- 无法使用 Docker Compose 运行多容器应用
请确保在 设置 对话框 Ctrl+Alt+S 的 中正确指定 Docker Compose 可执行文件。 有关详细信息,请参阅 Docker 连接设置。
- Docker Compose 在 Ubuntu 上通过 Unix 套接字设置无法工作
在 Ubuntu 上运行 Docker Compose 时,您会看到以下错误消息:
docker.errors.TLSParameterError: Path to a certificate and key files must be provided through the client_config param. TLS configurations should map the Docker CLI client configurations.在这种情况下,在 引擎 API URL 字段中使用带有
unix:///var/run/docker.sock的 TCP 套接字 连接。 有关详细信息,请参阅 TCP 套接字 。- 无法使用端口绑定
请确保相应的容器端口已暴露。 在您的 Dockerfile 中使用 EXPOSE 命令。
- 无法从注册表拉取镜像
当您尝试从注册表拉取 Docker 镜像时,会显示以下消息:
Failed to parse dockerCfgFile: <your_home_dir>/.docker/config.json, caused by: ... {"credsStore":"wincred"}在这种情况下,转到 <your_home_dir>/.docker 目录并删除 config.json 文件。
- 无法将 Dockerfile 和 Docker Compose 文件关联到正确的文件类型
默认情况下,PyCharm 应能够根据名称和内容识别 Dockerfile 和 Docker Compose 文件。 这将为这些文件启用各种编码辅助功能,例如补全建议、检查和装订区域图标。 如果 PyCharm 无法识别某个文件,它会提示您手动指定文件类型。 要将现有文件关联到正确的类型,请在 项目 工具窗口中右键点击该文件,并在上下文菜单中选择 与文件类型关联…。
如果 与文件类型关联… 操作被禁用,这可能意味着该文件名已被注册为其他某种文件类型的模式。 例如,如果您有一个自定义名称的 Dockerfile 被识别为文本文件,则无法将其与 Dockerfile 类型关联。 要移除该文件类型模式,请执行以下操作:
按 Ctrl+Alt+S 打开设置,然后选择 。
选择相关的文件类型(本例中为: 文本 ),并移除与该文件名匹配的模式。
点击 确定(O) 以应用更改。
现在,您应该能够在上下文菜单中使用 与文件类型关联… 设置正确的文件类型。
- 通过服务连接到 Docker 时 CPU 使用率高
如果您在 Windows 上使用 Hyper-V 作为 Docker 服务的后端,防病毒软件会持续扫描 Hyper-V 虚拟磁盘文件( .vhdx ),即使没有容器在运行,也会导致 CPU 资源过度消耗。
在这种情况下,请将 Hyper-V 虚拟磁盘文件从防病毒扫描中排除。