在工作中, 需要我们修复一个bug,但是整套服务比较重,本地重新搭建环境太麻烦, 这时就可以使用远程debug来进行开发啦!!

(基于docker stack)

第一步:

  将我们要操作的服务镜像替换成开发镜像(带sshd服务的镜像, 安装详情可见, 并将22端口暴露出来, 重启stack

第二步:

  用pycharm打开本地的代码

第三步:

  点击Add Interpreter, 新增一个解释器

  

pycharm 远程python pycharm 远程debug_用户名

 

  选择ssh Interpreter, 填入服务器的host及第一步暴露出来的端口, 用户名root及密码, 如参照第一步中链接安装sshd服务的话,用户名和密码都是root,

  登陆成功后设置解释器路径及文件映射(左边本地路径, 右边服务器容器路径),自动上传不建议勾选, 设置完成后点击finish.

  

pycharm 远程python pycharm 远程debug_pycharm 远程python_02

 

第四步:

  点击导航栏Tools选择Deployment, 点击Configuration...选择你刚设置的服务器信息点对号 OK.

  

pycharm 远程python pycharm 远程debug_Deployment_03

 

pycharm 远程python pycharm 远程debug_pycharm 远程python_04

 

pycharm 远程python pycharm 远程debug_服务器_05

 

  然后点选 Configuration 下方的Options, 将此选项设为ctrl s;

  

pycharm 远程python pycharm 远程debug_用户名_06

 

第五步:

  上传代码: 在你主要的代码的文件上右键Deployment选择upload to xxxx..

    

pycharm 远程python pycharm 远程debug_用户名_07

 

 待代码上传完成后, 此时线上的代码就和我们本地同步了,可以进行debug啦