作为一名优秀的程序员,一个合格的代码编辑器能帮助我们更好地完成项目的开发,Visual Studio Code(简称 VSCode) 是开源免费的 IDE 编辑器,成为了不少人心中的首选。但你有没有想过,我可不可以随时使用vscode工作,而摆脱电脑的束缚?其实,这种想法还真可以,因为其开源的特性(为Microsoft拥有的格局点赞),我们可以将其运行于docker之中,最终以web方式呈现。下面将演示如何将vscode的web版本利用docker部署在CentOS 7服务器上,Ubuntu或其它Linux发行版本操作类似。值得注意的是,vscode web版本使用的服务器资源较大,经测试,至少需要以下的配置才能正常运行。部分云服务学生机运行可能会很卡顿,请谨慎尝试。
操作系统:Windows / macOS / Linux CPU:Intel / 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
如果一切操作如下图所示类型,那么恭喜你安装成功!
放行防火墙端口
默认我们的防火墙是不允许不信任端口通过的,需要手动放行我们的端口9090,当然也可以关闭防火墙(生产环境慎重!!!)
sudo firewall-cmd --add-port=9090/tcp --zone=public --permanent sudo firewall-cmd --reload
访问vscode web服务
查看本机IP,比如我这里使用了两个IP地址段,就使用能够互通的一个。一般为eth0或ens192等等,根据实际情况判断。
ifconfig
使用http://ip:9090来访问, 测试正常,这样以后不管在手机上,还是ipad和其它电脑上,只要能上网,就能访问我的服务就能编写代码了。