使用PyCharm专业版,记住一定是专业版(社区版不提供远程服务)
在服务器上安装docker
启动docker服务:
systemctl start docker
拉取镜像(这里我使用的是python3.7.4版本,不加版本号默认使用最新版)
docker pull python:3.7.4
下载完毕,使用docker images 查看本地镜像
执行以下命令创建docker容器,并映射端口号22为8022,映射端口号可以自己设置,后面ssh连接需要使用
docker run -itd --name 容器名 --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -p 端口号:22 -p 5000:5000 -v /data/:/data/ 镜像名 /bin/bash
1、-d 表示启动守护式进程,不主动关闭会一直运行
2、-v 表示宿主机目录映射python容器目录
进入容器后执行以下命令:
# 进入容器
sudo docker exec -it 容器名 /bin/bash
# 更新
apt-get update
# 安装ssh服务
apt-get install openssh-server
配置远程服务
1.在容器内部输入以下命令
# 设置root账号密码,可以自定义但是一定要记住,后面要用
echo 'root:password' | chpasswd
# 允许使用root身份以密码登录,/etc/ssh/sshd_config是配置文件路径
sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
echo "export VISIBLE=now" >> /etc/profile
2.配置完成,重启ssh服务
service ssh restart
3.退出容器测试
# 退出容器
exit
# 测试端口是否映射到之前自己设置的端口号上
docker port 容器名 22
# 如果输出格式为以下,表明端口已经映射到8022端口上
0.0.0.0:8022
4.新建一个终端测试ssh连接
# 新终端连接docker中python容器,密码为password(自己设置的密码)
ssh root@宿主机ip -p 8022
5.如果出现以下错误
Permission denied, please try again.
6.进入容器修改配置文件
# 容器内没有 vim,安装
apt-get install vim
# 修改配置文件(容器内部操作)
vim /etc/ssh/sshd_config
7.将PermitRootLogin和PasswordAuthentication改为yes,将注释符#删除,保存退出
8.重启ssh服务
service ssh restart
9.可使用命令查看ssh是否启动,如果有以下结果,说明启动成功
ps -ef | grep ssh
10.接下来我们在本地主机上测试,win+R输入cmd进入命令黑窗口
ssh -p 映射端口号 root@虚拟机ip地址
password:输入之前设置的密码
连接成功,我们开始最后一步
pycharm中的配置
pycharm中新建项目
选择python解释器
新建sftp
查看容器内项目内容
常见问题
1、运行时报错找不到文件,如下图
解决:
在虚拟机中找到虚拟机项目文件,或者新建一个项目文件,将文件路径和本地文件映射
好了,大功告成了!!
有问题可留言,相互学习进步!!