【问题标题】:PyCharm add remote Python interpreter inside the DockerPyCharm 在 Docker 中添加远程 Python 解释器
【发布时间】:2015-09-01 21:59:43
【问题描述】:

所以我在我的笔记本电脑上设置了一个 docker。我正在使用 Boot2Docker,所以我有一个间接级别来访问 docker。在 PyCharm 中,我可以通过 SSH 设置远程 python 解释器,但我不确定如何为只能通过 Boot2Docker 访问的 docker 执行此操作?

【问题讨论】:

  • 一个远程python解释器一个正在运行的容器?
  • 因此您的容器将必须运行 SSH 并暴露给 boot2docker/virtualbox 主机,然后您通过 PyCharm 连接到 boot2docker/virtualbox 主机的暴露 ssh 端口以连接到你的远程 Python 解释器。
  • 谢谢。我会研究一下如何转发SSH。
  • @JamesMills,非常感谢。您为什么不将其发布为答案?如果我将容器作为守护进程运行并运行网络服务器会怎样?我可以附加到正在运行的容器而不是 run 因为我已经运行它了吗?
  • @JamesMills 获得了两次反对票和一次接近投票,没有评论他们为什么这么认为。怪人无处不在。

标签: python docker pycharm remote-debugging boot2docker


【解决方案1】:

好的,回答你的问题:

在 PyCharm 中,我可以通过 SSH 设置远程 python 解释器,但我不确定如何为只能通过 Boot2Docker 访问的 docker 设置?

你需要:

  • 确保您的容器中运行 SSH

有许多包含 SSH 的基本映像。见:Dockerizing an SSH Daemon

  • 向 Boot2Docker/VirtualBox VM 公开 SSH 服务。

    docker run -d -p 2222:22 myimage ...

  • 设置 PyCharm 以连接到您的 Boot2Docker/VirtualBox 虚拟机。

    boot2docker ip


附加到正在运行的容器也很容易!

$ boot2docker ssh
$ docker exec -i -t <cid> /bin/bash

&lt;cid&gt; 是容器 ID 或名称(如果您使用了 --name

【讨论】:

  • 已安装 sshd 并通过 supervisord 运行服务,现在我可以连接到解释器了。谢谢詹姆斯。
  • 您是否设法使用远程解释器调试了 python 类?我可以在运行类时连接到解释器,但是在尝试调试时尝试打开其他端口失败。
  • 什么是失败消息以及它试图打开哪些端口? (我对 PyCharm 一无所知,我实际上并没有使用它)。
猜你喜欢
  • 1970-01-01
  • 2019-12-01
  • 2019-01-29
  • 2015-02-12
  • 2017-07-21
  • 2019-03-18
  • 2018-04-25
  • 2020-08-20
  • 2013-09-07
相关资源
最近更新 更多