1、vscode 访问docker本地环境

直接点击左下角连接图标,弹出选项可以选择容器,只要容器在本地运行者,选择attach可以看到运行中的容器可以选择,选择其中需要选择的就行

## 运行容器,可以-d后台运行都可以

docker run -it --rm -v D:\sound:/work -w/work nvcr***-py3 /bin/bash

或者也可以用vscode 相关docker第三方插件: 右键选择运行中的容器,选择attach命令行或者直接新开个窗口都可以

2、vscode 访问docker远程环境

参考:https://blog.csdn.net/qq_52678569/article/details/131253955 http://lihuaxi.xjx100.cn/news/1450281.html?action=onClick

上面的本地也可以通过端口ssh形式访问;不是容器任何服务器都可以通过ssh访问,如果需要vscode远程链接,操作步骤如下类似

运行容器:

docker run -p 10008:10008 -it 4c2**aac23 /bin/bash

1)首先docker容器需要安装ssh-server; 在容器中安装SSH服务

apt-get update

apt-get install openssh-server

apt-get install openssh-client

apt-get install ssh

apt-get install vim

接着修改ssh文件信息,将容器的10008端口暴露出来允许root用户使用ssh登录

vim /etc/ssh/sshd_config

#在刚刚打开的文件里添加以下内容,保存后退出:

Port 10008

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

重启ssh服务

/etc/init.d/ssh restart

设置root用户连接密码

passwd

2)本地vscode远程ssh连接

在Configuration中添加: Host HostName <服务器IP> Port 10008 User root ForwardAgent yes

这里连接一直卡住问题就按照下面方式解决: vscode卡在Setting up SSH Host XX:Copying VS Code Server to host with scp参考:https://blog.csdn.net/qq_39448884/article/details/124562118

需要进入容器设置vscode远程配置,把对应包解压到容器类~/.vscode-server/bin/ 文件夹下:

步骤一:查看commit id,在本地的vscode的关于中查找

其中提交后的一串英文和数字即为commit id,或者登陆到服务器$HOME文件夹中,ls -a查看隐藏目录$HOME/.vscode-server/bin下的文件夹名称

vscode软件help-》about可以看到

步骤二:在该链接下手动下载server的压缩包vscode-server-linux-x64.tar.gz

https://update.code.visualstudio.com/commit:${COMMIT_ID}/server-linux-x64/stable

注意将${COMMIT_ID}替换为刚刚查到的commit id。

实际上vscode版本还分stable和insider的,vscode为蓝色图标的为stable版,绿色图标的为insider版。insider版需要将上述链接最后的stable改成insider。

步骤三:自己找一个传输软件,上传该压缩包到linux服务器的这个目录下~/.vscode-server/bin

或者直接容器类wget https://update.code.visualstudio.com/commit:${COMMIT_ID}/server-linux-x64/stable

下载的内容进行解压:

tar -zxf stable

mv vscode-server-linux-x64 ${COMMIT_ID}

步骤四:解压,并更改解压文件夹名字

cd ~/.vscode-server/bin

tar -zxf vscode-server-linux-x64.tar.gz

mv vscode-server-linux-x64 ${COMMIT_ID}

然后尝试重新连接,即可解决问题 。

vscode最终连接效果,记住登录密码是上面第一步容器里设置passwd的密码

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: