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

一、Pycharm创建Docker客户端

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

二、修改Docker客户端配置

在pycharm底部点这个打开配置

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

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

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

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

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

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

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

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

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

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

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

四、创建Docker里的Python解释器

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

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

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

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

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

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

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

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

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

这个错误,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