python连接远程服务器、并执行sql_pycharm如何连接远程服务器的docker容器进行运行和调试代码(一)...

这篇教程介绍了如何使用PyCharm专业版通过SSH连接远程服务器上的Docker容器,包括启动带SSH服务的Docker容器、配置PyCharm的远程连接、设置Python解释器以及使用Dockerfile创建SSH启动镜像。在容器中安装openssh-server,修改配置文件并测试连接,然后在PyCharm中配置SFTP和Python解释器,确保代码所需环境已准备就绪。
摘要由CSDN通过智能技术生成

pycharm如何连接远程服务器的docker容器有两种方法:

第一种:pycharm通过ssh连接已在运行中的docker容器

本文是第一种方法的教程,第二种请点击以上的链接

条件:

(1)准备好pycharm专业版,社区版没有连接远程服务器的功能

(2)远程服务器ubuntu,已安装好docker

一、配置远程服务器的docker容器

1. 启动并运行交互式容器

docker run -it --name pycharm_test -v /home/th/PycharmProjects/qa/:/workspace/qa -p 8080:22 --gpus all pytorch/pytorch:1.4-cuda10.1-cudnn7-runtime /bin/bash

这里需要映射主机端口到容器端口,后续就是通过端口来连通容器的。

-p 8080:22:这里主机端口8080, 容器端口是22

2.进入交互式后修改容器的root密码

passwd

27bb671a922f20c7c34221b8f812c48f.png

3. 给容器安装openssh-server和openssh-client

apt-get install openssh-server

apt-get install openssh-client

安装ssh服务时如果出现以下错误:

206f0a5776b55f0af09ffb3a918835d8.png

那就是因为/etc/apt/source.list中的源比较旧了,需要更新一下。更新命令以下:

apt-get -y update

4. 修改SSH配置文件以下选项

vim /etc/ssh/sshd_config

以上命令打开sshd_config文件,在文件最后面添加以下。

PermitRootLogin yes #允许root用户使用ssh登录

5. 重启ssh服务

/etc/init.d/ssh restart

ba7f63c7d1046deb2452873e7b815b02.png

6. 退出容器,连接测试

注意:以上2-5步骤都是在容器内部操作的。

ssh root@127.0.0.1 -p 8080

root:容器内部系统的root账号,不是服务器的用户账号

127.0.0.1:服务器本机ip

-p 端口号:这里的端口就是我们在步骤1 启动容器时映射的主机端口号8080,不是容器的端口22

在服务器上运行以上命令:

7e1fe35348c69e37b0aaf54d24e463d6.png

这样就测试连接成功了,接下来就是到我们本机windows系统的pycharm连接docker容器了。

二、配置pycharm并连接docker容器

1. Configuration配置远程连接

af8ea35428f5ca85ef686634e4211476.png

5109acbf7fe2a59d194e0f15e1be8cd8.png

afe5a7be5797bff0048a6156bd9fca15.png

创建SFTP服务docker_test, 参考以上截图填写。

74fbe6b3da98ae90deaacf49d4da378e.png

路径映射:

b0e30b251f1c9780c4feacabc3ec60e9.png

2. 上传本地代码数据到docker容器中并运行

c729aaa2726e328bbf77f51c44fb937d.png

上传完代码数据后, 需要选择设置python编译器:

110d8573ed9b04ce34f3628e5dc8cac2.png

aa6f8f0d00ea04d84756606dbd4791aa.png

7fa842e1935f60f040215478a6d14a56.png

4531d089f222d45a803ddf497fd91864.png

设置好python解释器就可以run代码了

6311fd2fffb23ecb4de0de609a45b5d8.png

这里要注意一下,代码所要的运行环境还需要在docker容器安装配置好,比如我这里需要pytorch环境以及python代码运行所需的依赖库都已经在docker容器中通过pip安装好了。

三、 使用Dockerfile创建可以ssh启动的镜像

Dockerfile内容:

————————————————————————————————————————

FROM            pytorch/pytorch:1.4-cuda10.1-cudnn7-runtime

ADD             tools/ /opt/tools/

RUN             mkdir ~/.pip/ && cp /opt/tools/pip_sources_aliyun.txt ~/.pip/pip.conf && \

cp /opt/tools/sources.list /etc/apt/ && apt -y update && \

apt install -y vim zip && \

/opt/conda/bin/pip install -r /opt/tools/requirements.txt --trusted-host mirrors.aliyun.com

#以下是设置ssh服务

RUN apt-get install -y openssh-server openssh-client && \

echo root:123456 | chpasswd && \

echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

ENV             LANG C.UTF-8

CMD             ["/usr/sbin/sshd", "-D"]

WORKDIR         /work/

————————————————————————————————————————————————

其实在你原来的Dockerfile中添加以下内容就可以

RUN apt-get install -y openssh-server openssh-client && \

echo root:123456 | chpasswd && \

echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

其中:

echo root:123456 | chpasswd

123456是设置步骤2的密码

这里注意一下:使用Dockerfile创建镜像后,并启动运行一个容器后,要手动去启动docker容器的ssh:

/etc/init.d/ssh start

note:不管是第一种还是第二种方法,在pycharm连接容器跑代码,在代码中所有有关路径都要写绝对路径,要不然会运行代码时会报错找不到文件或文件夹。

四、Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值