pycharm专业版连接远程docker容器

一.windows环境下pycharm专业版的安装

如果想使用pycharm远程连接docker容器,需要在windows环境下安装专业版的pycharm,专业版下载链接https://www.jetbrains.com/pycharm/

二.配置远程docker容器

1.启动带有端口的docker容器。

6006端口是用来运行tensorboard的,这里重要的是22端口。如果希望通过ssh远程连接docker,需要对容器的22端口做端口映射。

docker run --gpus all -p 6009:6006 -p 7600:22 --name torch-py3 -v /home/zhoucs:/work -v -d /data/zhoucs:/data -it b0de65fe9fda /bin/bash

2.运行容器

docker exec -it torch-py3 bash

3.进入容器后,更改容器的root密码

passwd

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JyeOnDzk-1615199163319)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308172243618.png)]

4.更新容器内的apt源,安装vimssh

apt-get update
apt-get install openssh-server
apt-get install vim

5.使用vim打开并修改ssh的配置文件,允许通过ssh远程访问docker。

vim /etc/ssh/sshd_config

将如下代码贴入sshd_config文件中

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

在这里插入图片描述

6.启动ssh服务,至此,服务器端配置完毕。

service ssh restart

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xPJ53yCf-1615199163325)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308172903441.png)]

7.退出容器,连接测试

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

ssh root@127.0.0.1 -p 6060

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

127.0.0.1:服务器本机ip。

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CWVwhMkT-1615199163327)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308173403233.png)]

三.配置专业版pycharm环境,远程docker容器

1.找到pychram中Tools-Deployment-Configuration

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u7Zbv3Cj-1615199163330)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308173843331.png)]

打开如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0pUg9y2B-1615199163331)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308174209602.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rReUJT5f-1615199163332)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308174417669.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2BKLmMAc-1615199163333)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308174625714.png)]

点击测试,docker容器和pychram是否链接成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VybyQNft-1615199163333)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308174723442.png)]

2.本地windows下的路径和docker容器中的路径映射

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TMliurlP-1615199163334)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308174952201.png)]

3.上传本地代码数据到docker容器中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rgHR1C9d-1615199163335)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308175152577.png)]

4.如上将代码,路径映射都配置好,接下来需要配置运行代码的python编译器。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bBfElYDo-1615199163336)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308175444327.png)]

在docker中配置好了代码的运行环境,执行which python查看pyhton编译器的路径,如下是我docker环境中的解释器路径,稍后会用到。

/root/anaconda3/bin/python

依次执行1,2,3,4步骤

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QfbTaVde-1615199163337)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308181336816.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AfHjjM59-1615199163338)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308181823514.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UuoQkUCP-1615199163338)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308182253304.png)]

5.配置好如上的所有步骤,就可以在Pychram中运行docker环境下的代码了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ccDNo46f-1615199163339)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308182427110.png)]

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐