共计 1934 个字符,预计需要花费 5 分钟才能阅读完成。
话不多说,先来看一个页面。
有没有很熟悉,就是 web 版本的 vscode。
有时候我会拉一些开源项目到本地跑一遍,但是对于 node 这种项目,一个项目可能下载的以来就有几百 m。虽然说硬盘也不贵,但是对于这种下载到本地实在不方便,也不想污染本地的环境。
所以把代码下载到虚拟机是一个不错的选择。但是由于虚拟机基本都是最小化安装,没有图形界面就不太方便修改代码。
code-server 可以很好解决这个问题,使用 docker 安装更是隔离了环境,不管在容器里下载 python,node 都是非常方便的,并且不会影响宿主机的环境。
下面是安装 code-server 的步骤。
1 改权限(可选)
我习惯在容器里面也能使用 docker 命令,所以需要修改 docker.sock 的权限并将其映射到容器内。
chmod a+rw /run/docker.sock # 或者 chmod a+rw /var/run/docker.sock
这里就看 docker.sock 文件在哪里了,都运行一遍也没关系。
2 运行
docker run -d \
--name=code-server \
-e PUID=0 \
-e PGID=0 \
-e DEFAULT_WORKSPACE=/config/workspace \
-e PASSWORD=123 \
-e SUDO_PASSWORD=123 \
--net host \
-v /home/docker/code-server/config:/config \
-v /root:/config/workspace \
-v /run/docker.sock:/var/run/docker.sock \
-v $(which docker):/usr/bin/docker \
-v $(which docker-compose):/usr/bin/docker-compose \
--restart always \
--privileged=true \
linuxserver/code-server:latest
DEFAULT_WORKSPACE 是指定 web 访问时默认的工作目录。
PASSWORD 进入 web 页面的密码。
SUDO_PASSWORD 是容器内使用 sudo 命令时需要的密码。(为了安全,默认账号并不是 root 运行)
-v /root:/config/workspace
则是把宿主机的 root 目录作为工作目录。
3 修改映射目录的权限(可选)
chmod -R 777 /root/
想要在容器内不出现权限问题,就改 777 权限,这个依据情况而定。
SUDO_PASSWORD 是使用 sudo 命令时候使用的命令。即 root 命令。
4 配置 code-server
4.1 显示顶部菜单
左上角 -> View -> Appearance -> Show Menu Bar
4.2 修改主题颜色(个人比较喜欢黑色的背景)
设置 -> Color Theme -> Dark
4.3 设置不显示隐藏文件夹
设置 -> 搜索 file.exclude -> Add Pattern **/.*
自己可能用到的,用于排除连接到 ssh 后服务器杂乱文件(将配置填写到工作区)
{bin,boot,data,dev,etc,lib,lib64,tmp,media,mnt,opt,proc,root,run,sbin,srv,sys,usr,var,.swap,lib32,libx32,snap,video,cdrom,back,lost+found,swapfile,.vscode,home/lighthouse,home/hz,home/noback}
4.4 安装扩展
-
Chinese - 汉化
-
Live Server - 静态页面服务器(方便访问)
5 安装开发环境
根据需要,在终端运行如下命令:
# 切换 root 用户
sudo su
# 更新源
sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list && apt update
# 安装 python
apt install -y python
# 安装 nodejs,自行调整版本
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash
apt install -y nodejs
# 安装 jdk
apt install -y openjdk-8-jdk
6. 其他
- 报错
Visual Studio Code is unable to watch for file changes in this large workspace"
解决:
# 查看限制 cat /proc/sys/fs/inotify/max_user_watches
vim /etc/sysctl.conf
# 最后一行添加 fs.inotify.max_user_watches=524288
sudo sysctl -p
提醒:本文发布于827天前,文中所关联的信息可能已发生改变,请知悉!