Docker容器中的Pycharm 5远程python解释器:非零退出代码

时间:2016-01-07 12:30:30

标签: python docker pycharm docker-compose

我使用docker-compose来启动不同的容器,其中有一个运行我的python应用程序(基于自定义映像,而该映像又基于官方python:3.5.1容器)以及其他包含数据库和卷的容器。我想在Pycharm的容器中使用解释器(因为版本5中添加的一个很酷的功能是远程Docker解释器)。 我尝试使用“Project interpreter> add> remote> docker”添加它并指定以下内容:

  

计算机名称:默认(是主机上唯一的计算机)

     

图片名称:通过运行docker ps来表示显示的名称   app容器(我尝试使用和不使用“:latest”后缀)

     

python口译员路径:我尝试了默认的“python”   指定完整路径(由which python返回的路径   容器)

但是一旦点击确定,Pycharm无法找到解释器,它提供的唯一输出是:“非零退出代码”!

我真的想避免使用SSH ...所以,是否有人能够连接到Docker解释器,并且可以解释我该怎么做以及该怎么办?

ps:我也尝试使用端口2376(一个Pycharm用来连接到容器),但它似乎已经被docker自动暴露,因为我在尝试显式暴露它时遇到错误(Dockerfile + PORTS中的EXPOSE 2376) : - “2376:2376”in docker-compose)

更新

忽略问题并点击“确定”我会得到一条更有用的信息(重点是我的):

  

无法为docker:// myapp:latest / python,exit运行generator3.py   代码1,stderr:            -----            / opt / webapp / src应该是本地项目的路径,或者是以svn +,git +,hg +或bzr +开头的VCS URL            -----

这让我无言以对......为什么它应该抱怨容器中的路径? (/ opt / webapp / src是我的应用程序的源代码位于容器中的位置...我怎么能在容器中引用主机项目?!) 也许我误解了远程解释器功能,我不能按照自己的意愿使用它,在我的例子中是从主机上对容器运行测试。 (而不是使用docker exec..连接到它)。 所以我的目标是使用Pycharm来测试/调试容器中的代码......这可能吗?

0 个答案:

没有答案