1,docker run的时候要加上port
docker run -it --gpus=all -p 2222:22 -v /挂载目录/:/docker 目录1/ -v /挂载目录/:/docker 目录2/ --name=xxx image:v2 /bin/bash
2,docker 内部要安装ssh
2.1方法命令:
apt-get update
apt-get install openssh-server
安装过程中不报错,没有Error,或者在/etc/ssh目录下有sshd_config配置文件就说明安装成功了,最好检查一下配置文件有没有存在。
2.2.修改配置文件
命令:
vim /etc/ssh/sshd_config
保证 PermitRootLogin prohibit-password 这一行被注释,并添加一行 PermitRootLogin yes
2.3.设置root密码,这个密码用于VScode登录使用
命令:passwd
按照提示输入两次即可
2.4.重启ssh服务
service ssh restart(可用命令 service ssh status 查看状态)
3,vscode 安装插件remote-ssh
安装完成后需要reload一下,然后按ctr+shift+p,打开查找栏,输入remote-ssh,选择open Configuration file
4,然后按ctr+shift+p,打开查找栏,输入remote-ssh,选择connect to host,输入 ssh root@ip -p 2222
5,或用vscode左侧栏里的连接docker,
6,Containers Docker version 17.12.0 or later required.
把之前的目录删了都删了。
7,VSCode get "Could not establish connection to "SERVER": Downloading VS Code Server failed - please install either curl or wget on the remote."
连上服务器之后
cd ~
ll
rm -rf .vscode-server
删除远端的vscode服务器。
然后输入wget或者curl检查有无安装这两个工具。
如果提示
Command 'wget' not found, but can be installed with:
apt install wget
说明没有wget或者出于各种原因无法使用这个指令。
尝试进行安装
sudo apt-get install wget
sudo apt-get install curl
如果再次测试还没有用,尝试先卸载再安装
sudo apt-get remove wget
sudo apt-get install wget
sudo apt-get remove curl
sudo apt-get install curl
8,安装python插件
9,配置python编译器,选择docker里conda中的python编译器,OK!
开始愉快的玩耍吧!
-------------------------------------------------
pycharm 配置策略,但是pycharm策略有个问题,就是本地和远程的工程是同步的,但是如果docker内还放着大量数据要用,本地工程没有办法连接,就比较蛋疼了。
二、进行远程容器内部修改
docker exec -it 容器名 /bin/bash
1、修改root用户密码
passwd
2、首先检查容器内部是否以安装 openssh-server与openssh-client 若没安装执行一下命令安装
apt-get install openssh-server
apt-get install openssh-client
3、修改SSH配置文件以下选项
vim /etc/ssh/sshd_config
# PermitRootLogin prohibit-password # 默认打开 禁止root用户使用密码登陆,需要将其注释
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
PermitRootLogin yes #允许root用户使用ssh登录
4、启动sshd服务
/etc/init.d/ssh restart
5、退出容器,连接测试
ssh root@127.0.0.1 -p 2222
输入密码成功进入容器内部即配置成功
6、如若需要将修改后的容器重新保存为镜像,则可进行相应处理,本文直接使用修改后的镜像进行后续操作
三、使用Pycharm远程连接
1、打开配置界面
Configuration配置远程连接
创建SFTP服务docker_test, 参考以上截图填写。
路径映射:
2. 上传本地代码数据到docker容器中并运行
上传完代码数据后, 需要选择设置python编译器:
设置好python解释器就可以run代码了