code-server是运行在远程服务器上的VS Code,可以通过浏览器访问。使用code-server可以让多个电脑有相同的开发环境,代码编译和测试等可以直接在服务器上进行。本文主要介绍Linux 上使用docker安装配置code-server的方法。

1、安装docker

通过docker安装code-server,也是需要一台服务器,安装docker。通过docker来运行code-server,可以使用自己拥有的物理机器,也可以使用云服务器。不使用docker至少需要2核CPU和1 GB内存,使用docker需要高于这个配置,环境必须启用websocket,因为code-server使用websocket在浏览器和服务器之间通信。

参考文档:docker 安装

云服务器:https://www.cjavapy.com/article/822/

2、直接运行docker code-server 容器

通过docker run 直接运行code-server 容器,命令如下,

docker run -d 
--name=code-server 
-e PUID=1000 
-e PGID=1000 
-e TZ=Etc/UTC 
-e PASSWORD=password #optional 
-e HASHED_PASSWORD= #optional 
-e SUDO_PASSWORD=password #optional 
-e SUDO_PASSWORD_HASH= #optional 
-e PROXY_DOMAIN=code-server.my.domain #optional 
-e DEFAULT_WORKSPACE=/config/workspace #optional 
-p 8443:8443 
-v /path/to/appdata/config:/config 
--restart unless-stopped 
lscr.io/linuxserver/code-server:latest

选项说明:

参数

说明

-p 8443:8443

web界面

-e PUID=1000

用户ID - 详细说明见下文

-e PGID=1000

用户组ID - 详细说明见下文

-e TZ=Etc/UTC

指定时区,参见此列表

-e PASSWORD=password

可选的web界面密码,如果没有提供PASSWORD或HASHED_PASSWORD,将没有认证

-e HASHED_PASSWORD=

可选的web界面密码,覆盖PASSWORD,如何创建见下文说明

-e SUDO_PASSWORD=password

如果设置了这个可选变量,用户将在code-server终端中有sudo权限,并使用指定的密码

-e SUDO_PASSWORD_HASH=

可选地通过哈希设置sudo密码(优先于SUDO_PASSWORD变量)。格式为$type$salt$hashed

-e PROXY_DOMAIN=code-server.my.domain

如果设置了这个可选变量,此域将被代理用于子域名代理。参见文档

-e DEFAULT_WORKSPACE=/config/workspace

如果设置了这个可选变量,code-server将默认打开这个目录

-v /config

包含所有相关配置文件

3、通过Dockerfile本地构建镜像

若需要修改code-server 镜像,可以通过修改Dockerfile文件,在本地服务器自己构建code-server 镜像,命令如下,

git clone https://github.com/linuxserver/docker-code-server.git
cd docker-code-server
docker build 
--no-cache 
--pull 
-t lscr.io/linuxserver/code-server:latest .

4、查看code-server 容器

1)进入code-server容器中执行命令

docker exec -it code-server /bin/bash

2)查看code-server容器的实时日志

docker logs -f code-server

3)查看code-server容器的版本号

docker inspect -f '{{ index .Config.Labels "build_version" }}' code-server

4)查看code-server镜像的版本号

docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/code-server:latest

5、相关命令

1)更新code-server镜像

docker pull lscr.io/linuxserver/code-server:latest

2)停止运行的容器

docker stop code-server

3)删除容器

docker rm code-server

4)删除未使用的镜像

docker image prune

推荐文档