如何在Linux上部署vscode环境(把vscode放在网页上运行)

作为一名优秀的程序员,一个合格的代码编辑器能帮助我们更好地完成项目的开发,Visual Studio Code(简称 VSCode) 是开源免费的 IDE 编辑器,成为了不少人心中的首选。但你有没有想过,我可不可以随时使用vscode工作,而摆脱电脑的束缚?其实,这种想法还真可以,因为其开源的特性(为Microsoft拥有的格局点赞),我们可以将其运行于docker之中,最终以web方式呈现。 下面将演示如何将vscode的web版本利用docker部署在CentOS 7服务器上,Ubuntu或其它Linux发行版本操作类似。

值得注意的是,vscode web版本使用的服务器资源较大,经测试,至少需要以下的配置才能正常运行。部分云服务学生机运行可能会很卡顿,请谨慎尝试。

操作系统:Windows / macOS / Linux
CPUIntel / AMD x64, ARM v7 (arm32), ARM 64
CPU:至少2CPU
内存:至少4G,过少会卡顿

CentOS安装docker

# 官方一键脚本安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# 备用安装
curl -sSL https://get.daocloud.io/docker | sh

启动docker并验证

# 启动docker
sudo systemctl start docker
# 开机自启
sudo systemctl enable docker

# 查看版本信息,如果正常出现,则安装成功
[root@mx ~]# sudo docker -v
Docker version 20.10.8, build 3967b7d
[root@mx ~]# 

利用docker部署vscode web版本

拉取镜像的过程中视网络情况有所不同,请耐心等待

# 拉取vscode web server镜像到本地
sudo docker pull jmcdice/vscode-server

# 运行服务,将宿主机本地的9090指向容器8080端口
sudo docker run -d -p 9090:8080 --restart=always --name=vscodeserver jmcdice/vscode-server

解释一下这里的参数: -d 后台运行容器,并返回容器ID -p 将宿主机的端口映射到容器内部,宿主机ip:容器ip --restart always 表示重启容器服务进,自动运行该镜像 --name=xxx 为此服务重新命名

# 查看vscode镜像是否成功运行
sudo docker ps

如果一切操作如下图所示类型,那么恭喜你安装成功!

如何在Linux上部署vscode环境(把vscode放在网页上运行)

放行防火墙端口

默认我们的防火墙是不允许不信任端口通过的,需要手动放行我们的端口9090,当然也可以关闭防火墙(生产环境慎重!!!)

sudo firewall-cmd --add-port=9090/tcp --zone=public --permanent
sudo firewall-cmd --reload

访问vscode web服务

查看本机IP,比如我这里使用了两个IP地址段,就使用能够互通的一个。一般为eth0或ens192等等,根据实际情况判断。

ifconfig

如何在Linux上部署vscode环境(把vscode放在网页上运行)

使用http://ip:9090来访问, 测试正常,这样以后不管在手机上,还是ipad和其它电脑上,只要能上网,就能访问我的服务就能编写代码了。

如何在Linux上部署vscode环境(把vscode放在网页上运行)