Rev*_*ial 5 django pycharm docker docker-compose
我已经导入PyCharm 5.1 Beta 2一个教程项目,当我从命令行使用docker -compose运行它时工作正常 :https:// docs.docker.com/compose/django/
尝试设置远程python解释器会导致问题.
我一直在努力弄清楚服务名称字段的期望: 远程解释器 - docker 撰写窗口 - 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
Run Code Online (Sandbox Code Playgroud)
当我尝试输入web或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"]
Run Code Online (Sandbox Code Playgroud)
然后像这样登录 docker 容器(在代码示例中传递“screencast”):
$ ssh root@192.168.99.100 -p 2000
Run Code Online (Sandbox Code Playgroud)
注意:我们知道 IP 和端口可能会根据您的 docker 和 compose 配置而变化
对于 PyCharm,只需设置一个远程 SSH 解释器即可完成!
https://www.jetbrains.com/help/pycharm/2016.1/configuring-remote-interpreters-via-ssh.html
| 归档时间: |
|
| 查看次数: |
723 次 |
| 最近记录: |