pycharm如何连接远程服务器的docker容器有两种方法:
第一种:pycharm通过ssh连接已在运行中的docker容器
第二种:pycharm连接docker镜像,pycharm运行代码再自动创建容器
本文是第一种方法的教程,第二种请点击以上的链接
条件:
(1)准备好pycharm专业版,社区版没有连接远程服务器的功能
(2)远程服务器ubuntu,已安装好docker
一、配置远程服务器的docker容器
- 启动并运行交互式容器
docker run -it -v /u01/nlp/rasa_igw:/igw -p 10098:22 -p 18006:8006 -p 18007:8007 -p 18027:18027 -p 18029:18029 --name rasa_i rasa_igw init
这里需要映射主机端口到容器端口,后续就是通过端口来连通容器的。
-p 10098:22:这里主机端口10098, 容器端口是22
2.进入交互式后修改容器的root密码
passwd
3. 给容器安装openssh-server和openssh-client
apt-get install openssh-server
apt-get install openssh-client
安装可能出现以下错误:
Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
更新一下apt-get
apt-get update
还可以设置pip下载的豆瓣镜像:
pip config set global.index-url https://pypi.doubanio.com/simple/
- 修改SSH配置文件以下选项
vim /etc/ssh/sshd_config
以上命令打开sshd_config文件,在文件最后面添加以下。
PermitRootLogin yes #允许root用户使用ssh登录
- 重启ssh服务
/etc/init.d/ssh restart
6.在容器外,测试端口是否通
telnet 192.168.3.240 10098
二、配置pycharm并连接docker容器
1.打开pycharm,open 需要调试的rasa的代码。
2.点击Tools–>Deployment–>Configuration
3 点击 + ,然后给连接取个名字,建议:IP:端口号,IP是需要连接的服务器,端口号是从容器映射出来的22端口号,10022:22,10022是服务器的端口,22是docker的端口。
路径映射:
需要选择设置python编译器:
点击file–>settings
选择Project Interpreter—>add
在点击Next
设置好python解释器就可以run代码了
三 、rasa 调试
点击edit Configurations
点击【+】号,选择python
查看服务器上的,还没启动起来rasa服务,flask服务
打断点,开始debug
打开postman进行测试,IP端口都填服务器docker的
查看docker的进程,发现多了四个进程,之前以为进程运行在本机,其实服务照样运行在docker里边,只是用pycharm去打断点debug。