一、需求分析
1.1 情况
- 实验室服务器(IP:192.168.0.202),使用docker运行了镜像,镜像内含有maskrcnn_benchmark
- 局域网内的windows电脑通过pycharm远程调试服务器docker运行中的容器
二、服务器端运行docker
-
执行
docker run --gpus all -it -d -p 4000:22 maskrcnn_benchmark bash # 交互式运行容器的bash -d表示后台运行 -p映射容器的22端口到服务器的4000 docker ps # 查看正在运行的容器 docker exec -it c8af bash # 运行容器的一个bash nvidia-smi # 测试能够查看到gpu
-
运行新bash完成后将返回新的终端,再执行
passwd # 更改密码 apt-get update apt-get install openssh-server # 安装ssh apt-get install openssh-client # 安装ssh apt-get install vim # 安装vim /etc/init.d/ssh restart # 启动ssh systemctl enable ssh 设置自启动
执行后如图
-
执行
which python
查看docker的python解释器位置,这个后面配置需要用的
三、windows配置pycharm
3.1 建立工程
- 新建空文件夹,并打开为pycharm工程,没有该选项可以在pycham中找到你的路径再打开
- 删除main.py
3.2 配置解释器和文件映射
-
进入设置
-
设置服务器的ip和映射容器22端口的服务器端口,若只是远程服务器上的程序而不是docker内的则端口为22,且用户名为给定的用户名
-
输入密码
-
设置解释器
Finish,完成后如图,Apply和Ok
3.3 同步文件
至此就结束了,可以在程序上打断点,然后调试和运行
记录
运行 并挂载代码和数据
docker run --gpus all --privileged=true -v /media/E_4TB/YL/datasets/voc:/workspace/data/pascal_voc -v /media/E_4TB/YL/FSOD/code/DCNet:/workspace/code/Meta-FSOD -it -d -p 4000:22 maskrcnn_benchmark bash