我有一个包含Dockerfile的项目。它通常用于在部署时在服务器上构建Docker容器。现在我正在尝试在本地使用Docker进行调试。
我在Pycharm中为dockfile构建镜像。在dockerfile成功运行后,我看到了一个docker contrainer和一些图像,如下所示:
按照这个指令,我试图从Docker添加Python解释器。
使用Docker配置解释器
但是,在下拉菜单中,只有三个图像可供选择。我的理解是pycharm_helper图像应该是我正在寻找的图像。
- python:3
- Ubuntu:18.04
- busybox:最新
我也读了这篇文章,并选择了busybox:latest,但我也不知道Python解释器的路径应该是什么。
Is there a repository for pycharm_helpers
有没有人知道如何从我刚刚构建的镜像中添加Python解释器,并在容器中运行我的代码?
谢谢
1条答案
按热度按时间w7t8yxp51#
Pycharm本身需要一个helper镜像来在远程docker示例中设置运行时。如果您已经公开了docker运行时,pycharm已经为您处理了,如以下请求所示
就我个人而言,我不同意unpinned busybox版本,但这应该由jetbrains来处理,因为他们已经决定了pycharm助手应该是什么样子。
以下是podman的具体问题:
有一种倾向是使用非完全限定的图像名称,例如仅使用
python:3.10.1
而不是docker.io/library/python:3.10.1
,podman坚持在构建图像时使用前缀“localhost”,而不是让您按原样标记图像。因此,pycharm将无法找到“正确的映像”,因为它的名称不是pycharm_helpers
,而是localhost/pycharm_helpers
。您可以将图像标记为docker.io/library/[image name]
,pycharm将解析图像。最后,pycharm将尝试使用
seccomp:unconfined
创建容器,这在podman中是无效的选项。如果你使用的是代理服务器,也不要提到它。我不知道它为什么被发送,也不知道它应该做什么。我遇到的另一个podman特定问题是docker插件使用
--volumes-from
声明来Map来自pycharm helpers image的helpers。看起来,如果你不Map到主机的物理位置,podman将不会把helper文件Map到目标容器(你的项目将从中产生的容器)。因此,您需要通过将pycharm_helpers目录复制到主机中,然后将复制的目录Map到/opt/.pycharm_helpers
处的容器中,来重新制作pycharm helpers容器。