使用vscode的SSH插件连接Docker容器进行开发

零 Golang教程评论63字数 1065阅读3分33秒阅读模式

 

作为使用vscode的SSH插件连接Docker容器进行开发一个curd boy是没想到能用上的, 最近新项目需要编译CGO, 但是我的电脑是M1,文章源自灵鲨社区-https://www.0s52.com/bcjc/golangjc/16411.html

所以申请了一台电脑, 用来编译x64的程序, 编辑器依然是宇宙第一的vscode.文章源自灵鲨社区-https://www.0s52.com/bcjc/golangjc/16411.html

首先讲一下我的大致配置思路,

在远程机子上跑docker, docker跑ubuntu镜像, 给ubuntu镜像配置sshd和C环境,文章源自灵鲨社区-https://www.0s52.com/bcjc/golangjc/16411.html

vscode安装插件远程插件进入容器内开发.文章源自灵鲨社区-https://www.0s52.com/bcjc/golangjc/16411.html

下面是详细的步骤:文章源自灵鲨社区-https://www.0s52.com/bcjc/golangjc/16411.html

安装docker, 略文章源自灵鲨社区-https://www.0s52.com/bcjc/golangjc/16411.html

跑容器有一点需要注意, 就是端口转发, 我属于比较懒, 所以直接使用了host模式文章源自灵鲨社区-https://www.0s52.com/bcjc/golangjc/16411.html

进入容器, 首先是换源, 然后文章源自灵鲨社区-https://www.0s52.com/bcjc/golangjc/16411.html

sql

复制代码
apt update

紧接着安装C环境,文章源自灵鲨社区-https://www.0s52.com/bcjc/golangjc/16411.html

arduino

复制代码
apt-get install build-essential gdb

然后就是配置go环境, 去官网下载合适的版本之后解压, 放到合适的目录,文章源自灵鲨社区-https://www.0s52.com/bcjc/golangjc/16411.html

然后使用vim修改/etc/profile文件, 增加环境变量, 这样开发环境就配置完成了

下面讲述如何SSH

给ubuntu容器安装openssh-server

vbscript

复制代码
apt install openssh-server

安装完成之后为root用户设置密码

makefile

复制代码
终端中输入:
passwd
然后按照提示输入两次密码即可

主要就是修改端口, 和开发root用户登陆, 我只修改了下面两项, 默认是注释的, 直接加上就可以了

ruby

复制代码
文件路径:/etc/ssh/sshd_config

Port 9000
PermitRootLogin yes

然后启动sshd

sql

复制代码
service ssh start

这样你就能通过ssh链接上容器了

紧接着打开vscode, 插件搜索ssh,安装这个插件

使用vscode的SSH插件连接Docker容器进行开发

安装成功之后你会得到这样一个图标

使用vscode的SSH插件连接Docker容器进行开发

点击ssh的设置图标 先选择设置, 然后在新打开的tab中输入config的文件路径

使用vscode的SSH插件连接Docker容器进行开发

文件内容如下:

使用vscode的SSH插件连接Docker容器进行开发

sql

复制代码
Host可以随便输入, 我一般不会直接写ip
HostName 你的docker宿主机Ip, 因为用了host模式, 所以直接写宿主机的ip就可以
Port ssh端口
User 登陆用户, 容器内用户就是root
ServerAliveInterval 超时设置, 60就可

这个时候你会发现vscode中已经出现这个,

使用vscode的SSH插件连接Docker容器进行开发

点击箭头可以这当前也进行连接, 点击窗口+可以在新建窗口进行链接

第一次链接会提示确认进行连接, 点击继续就可以了

链接成功之后, vscode的资源管理器会提示你选择文件夹, 这个时候选择你的开发目录即可,

同时, 你还需要在远程服务器中安装需要的LSP, 点击扩展tab, 进去之后把你所有需要的插件进行安装即可

到此你就可以畅快的进行开发了

零
  • 转载请务必保留本文链接:https://www.0s52.com/bcjc/golangjc/16411.html
    本社区资源仅供用于学习和交流,请勿用于商业用途
    未经允许不得进行转载/复制/分享

发表评论