github地址
https://github.com/coder/code-server
文档地址
https://coder.com/docs/code-server/latest
浏览器中的 VS Code
在任何地方的任何机器上运行VS Code并在浏览器中访问它
不太习惯openWrt上docker的可视化面板操作
虽然该有的变量都有,也都翻译为中文,简单的镜像可以立即拉取并运行
但是docker-compose.yml用惯了还是觉得相对简单一些
docker-compose.yml的方式方便扩展一些面板没有的变量,比如.env配置文件
同时设置数据卷和文件目录相对可控,可以选择自定义文件夹存放项目,如相对路径,设置单个文件夹和单个文件权限
方便其他设备或者下次复用docker-compose.yml配置文件,一行docker-compose up直接启动,无需多次反复面板勾选确认和输入,容易迁移和备份
但是对于openWrt而言,如果没有设置aapanel面板,一些拖拽文件和编辑代码的功能,使用编辑docker-compose.yml的操作比可视化面板更为复杂一些
如使用vi,和nano编辑,通常要记住一些快捷键,且是键盘操作,鼠标不起作用,不能快速定位和修改
这个时候就要用到code-server,一个运行在浏览器的VSCode
可以在浏览器中打开openWrt的VScode编辑界面,可以直接编辑文件,可以开启终端,也可以拖拽文件
有了它,我们可以远程开发代码,部署项目,网页ssh,大部分操作就是ctrl+c,ctrl+v
官方文档
https://coder.com/docs/code-server/latest/install#docker
docker文档
https://hub.docker.com/r/linuxserver/code-server
使用文档的docker-compose.yml
新建docker-compose.yml的配置文件
注意,下列配置文件设置的参数有
密码为password(可以修改为你自己的密码)
code-server可以查看和修改的文件目录路径为 / (也就是整个linux系统)
端口映射为3002(后续使用IP:3002访问)
version: "2.1"
services:
code-server:
image: lscr.io/linuxserver/code-server:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- PASSWORD=password #optional
- HASHED_PASSWORD= #optional
- SUDO_PASSWORD=password #optional
- SUDO_PASSWORD_HASH= #optional
- PROXY_DOMAIN=code-server.my.domain #optional
- DEFAULT_WORKSPACE=/config/workspace #optional
volumes:
- ./config:/config
- /:/config/workspace
ports:
- 3002:8443
restart: unless-stopped
拉取镜像并运行
docker-compose up
运行成功
开放端口
点击菜单,网络->防火墙->通信协议
添加codeServer,端口3002
访问ip:端口
http://192.168.100.1:3002/
进入页面,需要输入密码(password)
勾选并定义信任这个设备
点击选择VSCode主题样式
本文选择Dark+(暗色)
点击标记完成
点击右下角的弹框,标识明白
点击右侧目录
尝试编辑文件,如本文的docker-compose.yml配置文件
可以在浏览器中直接编辑了
还可以安装各种语法插件,其他辅助插件等
点击红框区域,可以建立新的终端
可以看到直接在浏览器终端,进入对应的目录,无需单独ssh
更多方式参考官方使用说明即可,和平时使用VScode基本一致
目前解决了代码编辑的方式,使用code-server
后续会尝试使用filebrowser,来解决文件夹可视化和浏览器文件交互的问题(使用docker)
特别注意
原本打算使用npm全局安装code-server的方式,但是发现它会占用软件包的空间,不仅提示空间不足导致无法安装,还会因为npm缓存把软件包空间占满
所以不要随便尝试npm的方法,能够docker就使用docker
END.
推荐阅读
《OpenWrt软路由(NanoPi For NAS All In One R4S ):Docker安装HomeAssistant》
《OpenWrt软路由(NanoPi For NAS All In One R4S ):HomeAssistant中hacs安装》
《OpenWrt软路由(NanoPi For NAS All In One R4S ):网易云音乐 Node.js API》