type
status
date
slug
summary
tags
category
icon
password

引言

在团队开发AI服务时,我们面临三个核心挑战:
  1. 端口限制:生产服务器防火墙封锁5000端口,但Docker容器不受限制
  1. 计算资源:本地机器无法承载大规模模型运算
  1. 协作需求:需要让产品/测试人员实时访问最新开发版本
本文将介绍如何通过 PyCharm远程开发+Docker容器化 的组合,实现:
✅ 本地IDE(pycharm)直接修改代码 → 自动同步到远程Docker容器
✅ 绕过端口限制,安全暴露服务到公网
✅ 完整保留PyCharm的调试能力(断点/变量监控)
 

一、问题场景还原

以我们的Flask算法服务为例:
  • 服务运行在远程服务器的Docker容器内
  • 服务器防火墙限制5000端口访问
  • 团队成员需要实时查看修改效果
传统方案需要反复:
  1. 本地修改 → 手动上传 → 重建镜像 → 重启容器
  1. 通过SSH隧道临时访问
痛点
  • 每次修改等待3-5分钟
  • 外部成员无法直接访问测试环境
 
二、技术方案全景
通过三层架构实现无缝开发体验:
 

三、完整实施指南

步骤1:配置PyCharm远程同步
  1. Tools > Deployment > Configuration 添加SFTP配置
  1. (根据实际情况)设置映射规则:
      • 本地路径:/xxx/moodVine_ai
      • 远程路径:/moodVine_ai
      notion image
  1. 设置文件更新同步Tools > Deployment > Options
    1. notion image
      这里我比较喜欢选择On Explicit Save Action (Ctrl+S触发),也可以选择Always
 
步骤3:编写Docker热加载配置
本地及服务器的文件结构均如下:
docker-compose.yml文件内容:
Dockerfile文件内容如下:
 
步骤4:启动容器
在拥有docker-compose.yml 的路径下执行以下命令:
容器启动成功即可!
 
 

举个🌰:

notion image
然后我们把返回的文本在本地pycharm进行修改,然后Ctrl+S保存,修改后的文件会自动更新到服务器,我们刷新网页,就可以查看到新版的返回内容啦!
notion image
使用Hexo+Github搭建个人博客解除网页文本禁止复制粘贴限制
Loading...
Rainnn
Rainnn
bling bling ⭐
Latest posts
PyCharm远程开发实战:本地代码实时同步Docker容器方案
2025-4-23
解除网页文本禁止复制粘贴限制
2025-4-22
Linux环境下安装Anaconda
2025-4-22
线性判别函数与参数、非参数估计
2025-4-13
贝叶斯决策论预测贷款违约
2025-4-12
课程学习及考试经验分享 (大二)
2025-4-7
Announcement
wakuwaku!
你竟然发现了这里!!
创作不易,获取加🔒文章密码/试读文章,请微信关注公众号 Code & Cookies
notion image