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
(1)添加apt源或yum源:
(1.1) debian 12环境
sed -i 's|deb.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources
apt-get update
(1.2) ubuntu 环境
vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multivers
sudo apt-get update
(1.3) centos环境
配置阿里云yum源
1) 安装wget
yum install -y wget
2) 备份本地源的配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
3) 从阿里云下载新的配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4) 更新epel仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
5) 更新缓存
yum makecache
通过yum安装vim
yum install vim= yum install 要安装的程序
vim显示行数的脚本:在root家的目录下
[root@localhost ~]# vim .vimrc
在里面输入:set nu 并保存
(2)apt-get install openssh-server
(3)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。