Docker的服务名称在PyCharm 5.1 Beta 2中撰写远程解释器
我已经导入到PyCharm 5.1 Beta 2的一个教程项目,当我从docker的命令行运行它的时候工作正常– 编写 : https:// docs.docker.com/compose/django/
试图设置一个远程python解释器正在导致问题。
我一直在努力解决什么服务名称字段预计: 远程解释器 – 泊坞窗撰写窗口 – http:// i.stack.imgur.com/Vah7P.png 。
我的docker-compose.yml文件是:
version: '2' services: db: image: postgres web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code ports: - "8000:8000" depends_on: - db
当我尝试inputweb或db或任何想到的东西时,我收到一条错误消息: 服务定义应该是一个映射
那么我该怎么进入呢?
EDIT1(新版本:Pycharm 2016.1发布)
我现在已经更新到最新版本,仍然有问题: .IOError:[Errno 21]是一个目录
对不起,不标记所有链接 – 有一个新的用户链接限制
我们发现解决这个问题(Pycharm 2016.1)唯一可行的方法是设置一个SSH远程解释器。
将此添加到主服务Dockerfile中:
RUN apt-get install -y openssh-server RUN mkdir /var/run/sshd RUN echo 'root:screencast' | chpasswd RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config # SSH login fix. Otherwise user is kicked off after login RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd ENV NOTVISIBLE "in users profile" RUN echo "export VISIBLE=now" >> /etc/profile EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"]
然后像这样loginDocker容器(在代码示例中传递'screencast'):
$ ssh root@192.168.99.100 -p 2000
注意:我们知道IP和端口可能会改变,取决于你的docker和组成configuration
对于PyCharm只需设置一个远程SSH解释器,就完成了!
https://www.jetbrains.com/help/pycharm/2016.1/configuring-remote-interpreters-via-ssh.html