Pycharm 远程连接 Docker

Pycharm 远程连接 Docker

[TOC]

引用:pycharm连接远程linux服务器的docker

为什么要用pycharm远程连接, docker

  1. 使用docker可以节省安装深度学习环境的时间。

  2. pycharm远程连接为了方便debug

安装Docker

  1. 首先要有一台服务器,最好装linux系统(推荐centos,稳定,当然稳定就意味着万年不更新)安装显卡驱动。

  2. 安装方式docker挺简单的,最好安装nvidia-docker,方便调用GPU,

  3. pull下来一个镜像。

有空的话可以写一篇docker相关的博客(不过如果只是pull下来一个深度学习环境,貌似没啥好写的)

pycharm连接docker

  1. 首先运行容器,以我的服务器实际运行命令为例:
1
docker run -p 6009:6006 -p 23:22 --name="torch-remote" -v /root/project:/workspace/project -it --gpus all pytorch_1 /bin/bash

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

更新容器的apt源,安装sshvim

1
2
3
apt-get update
apt-get install openssh-server
apt-get install vim

使用vim打开并修改配置文件,找到PermitRootLogin prohibit-password这一行,修改为PermitRootLogin yes,允许通过ssh远程访问docker。

1
vim /etc/ssh/sshd_config

创建docker中root用户的密码。

1
passwd root

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

1
service ssh restart

配置pycharm

Tools-Deployment-Configuration中,按下图配置。注意Type选择SFTPPort是步骤1映射的端口,Password是步骤5设置的密码。配置完成后,点击Test SFTP connection,测试连接是否成功。

image-20200424230134133

配置本地文件上传至docker的目录:

image-20200424230318034

PyCharm-Preferences-Project Interpreter里,点击右上角的设置按钮,选择add remote,配置如下图。注意Python interpreter path指的是docker中python的路径。

![image-20200424230440610](/Users/wei/Library/Application Support/typora-user-images/image-20200424230440610.png)

然后一路next,可能需要更改一下Python interpreter path:改为docker中的python路径即可。

接着需要等待一会,待程序配置结束。点击Tools-Deployment-Automatic Upload打开文件自动上传功能,上传文件需要一定时间。接着我们就可以实现远程运行和调试啦。

![image-20200424230756766](/Users/wei/Library/Application Support/typora-user-images/image-20200424230756766.png)