我使用的是 PyCharm 专业版进行的操作,社区版也许会略有不同。
主要思路是 ssh 连接到容器内然后设置远程解释器,理论上能在任何支持远程解释器的编辑器内使用。
Docker 容器配置
首先需要创建一个 Docker 容器(如果没有的话)并将其 ssh 端口映射到本地,例如:
docker run -p 1022:22 -it python /bin/bash
这里将容器内的22端口映射到了本地的1022端口。1022可替换为任意本地端口(只要没有冲突)
容器内 ssh 配置
进入容器后安装 OpenSSH Server
apt update
apt install openssh-server
设置登录密码,我这里直接使用root登录,也可以使用其他账户
passwd root
OpenSSH Server 默认阻止 root 密码登录,需要修改配置文件,进入:
vim /etc/ssh/sshd_config
提示:部分镜像内可能没有安装vim,请通过apt install vim安装
将sshd_config中的PermitRootLogin取消注释并改为:
PermitRootLogin yes
重启 ssh 服务
service ssh restart
至此容器内的 ssh 服务就配置完成了,在主机上测试 ssh 连接
ssh -p 1022 root@localhost
能顺利登录即为成功
PyCharm 配置
打开项目设置 → Python 解释器
添加解释器 → SSH...
按照之前配置的端口和用户名输入,再输入密码,PyCharm 会自动进行连接。
在运行时配置中选择系统解释器,将路径指向容器内 python 安装目录即可。
至此,配置已经完成,在解释器设置内选择刚配置完成的 Remote Python 即可。