Vscode-Docker
使用vscode连接远程docker
之前写代码一般简单的话都在jupyter
或者vim
上写,复杂的话就在本地写好之后再传到服务器上,但由于本地和服务器环境不同,往往需要下载很多包,才能更好完成代码编写,终于找到一个方法能实时编写服务器上容器上的代码,记录一下。
docker配置
首先重新运行一个容器,这个容器在之前的基础上新加上一个对服务器主机22端口的映射,因为ssh到服务器端口一般是22.
$ sudo docker run -p 7964:8888 -p 7965:5000 -p 7966:6000 -p 8022:22 -it -v /home/caoshuai/:/root/workspace --runtime=nvidia --name="caoshuai" f722eab170b7 /bin/bash
进入容器之后在容器内安装
openssh-server
$ apt-get update $ apt-get install -y openssh-server
建立一个文件,并对ssh做相关的配置
$ mkdir /var/run/sshd $ echo 'root:[passwd]' | chpasswd # 这里使用你自己想设置的用户名和密码,但是一定要记住! $ sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config $ sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd $ echo "export VISIBLE=now" >> /etc/profile
重启ssh激活配置
$ service ssh restart
在服务器主机上测试刚才新建容器哪个端口映射到服务器上22号端口,并测试能否ssh到docker容器内
$ sudo docker port [your_container_name] 22 # 如果前面的配置生效了,你会看到如下输出 # 0.0.0.0:8022 $ ssh root@[your_host_ip] -p 8022 # 密码是你前面自己设置的
到这里docker 环境就配置完成,接下来vscode配置就简单了。
Vscode配置
安装Remote SSH插件(或Remote Devolopment三件套)
安装完成之后只需要
ctrl+shift+p
选择ssh-setting
并配置相应ssh host即可HostName: [ip地址] User: [用户名(docker就是root)] Port: [端口号8022]
接下来就选择连接到Remote Host并输入之前设置的密码就可以愉快地使用Vscode远程开发啦!