乐趣区

经验拾忆纯手工-Pycharm连接Docker及代码自动上传与运行

一、Pycharm 创建 Docker 客户端

二、修改 Docker 客户端配置

在 pycharm 底部点这个打开配置

填写 Docker 服务端,的 IP 地址及端口(tcp:// 不能少)

 上面这个配置完后,下面会出现 connected successfully,说明配置成功。如果配置失败,有几种情况:一、你当前主机环境 无法 ping 通 Docker 所在服务器(云服务器、防火墙、的端口没放通)二、Docker 未做 IP 配置
        如何配置参考下面链接的解决方案即可配置成功。https://segmentfault.com/q/1010000020042977
        配置完成后,记得重启 Docker 服务 

三、Pycharm sftp 向 Docker 所在主机上传代码

连接测试成功后,不要点 OK,选最上面的 Mappings 项, 继续配置

上面配置完后,点 OK,然后开始上传

四、创建 Docker 里的 Python 解释器

ctrl+alt+ s 打开配置,然后按下图操作添加解释器

五、给脚本指定解释器 及 相关配置

下面其他都是默认配好的,主要配置下面红框部分的 2 处内容

切记:上面的第一个红框:Path mappings 项 必须配,不然就会出现下图的错误

 这个错误,stack, github 都没找到解决办法。(明明已经是绝对路径了,还是让你提供绝对路径)后来无奈之下,随手把 Path mappings 这项映射配了。居然就成功了。。。。。!!

六、最后直接执行本地 python 文件即可

就是我们平时在 pycharm 正常写代码的执行操作。。。

总结 + 解惑

总结

  1. 我们创建了 Docker 客户端, 并修改了相关配置
  2. sftp 上传代码(我们映射部分,填的是路径,它会自动把该路径下的文件上传到云服务器)
  3. 创建 python 解释器,并做出详细配置(各种映射)

疑惑解析:

  1. 为啥修改代码保存一次,远程服务器也会同步自动修改?????????
    因为我们在 sftp 的时候,mapppings 选项中 配置了客户端和云服务器的代码目录 映射。
    并且,我们在第一次同步代码的时候勾选了,自动同步选项(Automatic upload)
  2. 为啥可以操作远程的 Docker 里面的 python 解释器??????
    首先我们创建了 docker 的客户端。并做出了 连接远程服务器的配置。
    基于上述条件,我们在建解释器时做了如下操作:

    1. 选定云服务器的 Docker,
    2. 选定 Docker 中的镜像
    3. 选定 Docker 中的镜像中的 python 解释器
  3. python 镜像是 Docker(内部),为什么我们可以直接访问云服务器(外部)来达到需求??????
    因为我们在配置解释器的时候,配置了数据卷映射(第 五 章截图内 Docker Container settings 项)
    当然这属于 Docker 数据卷(volume)知识点范畴。
    Docker 数据卷教程参考链接:https://segmentfault.com/a/11…

END

退出移动版