pycharm配置服务器中docker容器的编译环境记录

事情起因

最近一直在用jupyter notebook使用服务器docker容器中的环境跑代码。后面需要设计界面要用到pyqt,这时候又无法连接到服务器的图形界面,所以就想到用本地的pycharm使用docker容器中的环境。

特别之处

网上已经有很多本地pycharm使用远程服务器上docker环境的教程了,但是我的情况有点不同,就是服务器没有外网地址,要想从外网访问要先访问另一台有外网地址的服务器,然后这台服务器再转发到目标服务器上。

实现

根据配置本地配置jupyter notebook的过程想到能不能使用ssh tunnel实现呢,经过实验发现是可行的。想法是将本地的一个端口a和外网服务器上的ssh地址b连接,然后外网服务器b自动转发到内网服务器后再连接到docker容器中关联的ssh端口c。这样在本地ssh连接a端口后就会转发到外网服务器端口b,b是配置好的转发,就会到内网服务器d,d根据自己的转发规则又会转发到最终目标c。

这里需要用到mobxterm和pycharm专业版

  • forwarded port 是本地要ssh的端口a
  • ssh server是外网服务器地址b
  • remote server是docker容器的地值c
    pycharm配置服务器中docker容器的编译环境记录_第1张图片

连接测试

这里要先把mobxterm上的隧道打开,然后在命令行 ssh连接

  • root是docker容器上的容器用户名

可以理解为要通过ssh连接到一个服务器上需要传递给它

  1. 用户名:root
  2. 地址:
  3. 端口:
    地址和端口都已经在转发速到里面配置好了
    pycharm配置服务器中docker容器的编译环境记录_第2张图片

这些做完之后就可以按照普通的教程配置pycharm连接了,get!!!!!

补充

在pycharm上使用远程编译器,我开始认为原理是本地文件运行,然后将需要的部分上传到服务器中运行(配置SFTP的作用),不需要把整个文件项目都上传的服务器。但施行之后想到每一次运行这样上传效率会更低,不如一次性都上传上去到服务的临时目录中,然后本地修改后同步到服务器中,运行后结果再同步到本地代码中,这样更好。最后验证是正确的,在服务器上找到了该目录。

。。。。IDE不能回传图形界面,,,,此贴终结

你可能感兴趣的:(pycharm)