【问题标题】:Service name for Docker Compose remote interpreter in PyCharm 5.1 Beta 2PyCharm 5.1 Beta 2 中 Docker Compose 远程解释器的服务名称
【发布时间】:2016-03-21 16:32:06
【问题描述】:

我已将一个教程项目导入 PyCharm 5.1 Beta 2,当我使用 docker-compose up 从命令行运行它时,它运行良好 :https://docs.docker.com/compose/django/

尝试设置远程 python 解释器会导致问题。

我一直在尝试找出服务名称字段的预期内容: 远程解释器 - docker compose 窗口 - 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

当我尝试输入 web 或 db 或任何想到的任何内容时,我收到一条错误消息:Service definition is expected to be a map

那么我应该在那里输入什么?

EDIT1(新版本:Pycharm 2016.1 版本)

我现在已更新到最新版本,但仍有问题:.IOError: [Errno 21] Is a directory

抱歉没有标记所有链接 - 有一个新的用户链接限制

【问题讨论】:

  • 基于此链接blog.jetbrains.com/pycharm/2016/03/…,目前还不支持compose v2。
  • Compose v2 在 RC2 中是 advertised as supported
  • 我刚刚尝试在最新的 EAP 版本 145.597.11 中执行此操作,但它不起作用。
  • 同样的问题,PyCharm 2016.1.1 Build #PY-145.598,于 2016 年 4 月 5 日构建。我没有指定 docker-compose.yml 版本号。
  • 2016 年 4 月 8 日构建的 PyCharm 2016.1.2 Build #PY-145.844 中的相同错误。

标签: django docker pycharm docker-compose


【解决方案1】:

我们发现解决此问题的唯一可行方法(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"]

然后像这样登录到 docker 容器(在代码示例中通过'screencast'):

$ ssh root@192.168.99.100 -p 2000

注意:我们知道 IP 和端口可能会根据您的 docker 和撰写配置而改变

对于 PyCharm,只需设置一个远程 SSH 解释器即可!

https://www.jetbrains.com/help/pycharm/2016.1/configuring-remote-interpreters-via-ssh.html

【讨论】:

    猜你喜欢
    • 2019-01-29
    • 1970-01-01
    • 2020-08-20
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 2019-12-01
    • 2021-10-20
    相关资源
    最近更新 更多