前言

运行前需要先安装Docker, 尚未安装可按照以下教程指引安装

https://blog.csdn.net/m0_51277041/article/details/123069490?spm=1001.2014.3001.5501

启动 VsCode 容器

__run_vscode_server() {
    _name="code-server"
    docker rm -f "$_name" 2>/dev/null
    _root="/data/docker-data/$_name"
    #_password=$(date +%s%N | md5sum | cut -c 1-32) #修改复杂密码
    rm -rf "$_root"/.local/share/code-server/ # 更新版本需删除
    {
        # 镜像准备
        _image1="registry.cn-hangzhou.aliyuncs.com/lwmacct/code-server:v4.16.1-t2308070"
        _image2="$(echo "$_image1" | awk -F '/' '{print $NF}')"
        if [[ "$(docker images "$_image2" | wc -l)" != "2" ]]; then
            docker pull $_image1 && docker tag "$_image1" "$_image2"
        fi
    }
    docker run -itd \
        --name="$_name" \
        --hostname="$_name" \
        --restart=always \
        --network=host \
        -e PASSWORD="$_password" \
        -e HTTPS_PORT="8881" \
        --privileged \
        -v /root/.ssh/:/root/.ssh/ \
        -v /proc:/host/proc \
        -v $_root:/root/ \
        "$_image2"

    sleep 4s && echo -e "\n登陆密码:"
    docker exec -it "$_name" cat /root/.config/code-server/password

}
__run_vscode_server

可用变量

容器运行变量

说明

默认值

PORT_HTTP

web vscode 运行端口

80

PORT_HTTPS

https 访问端口,需要指定 DOMAIN 才会生效

443

PASSWORD

登陆密码

PASSWORD_FILE

登陆密码的文件位置
如果该文件存在内容,则密码将替换为文件内容, 优先级比变量 PASSWORD 高

/root/.config/code-server/password

DOMAIN

域名或IP, 多域名IP使用空格分开

需要客户端安装 CA根证书才能正常使用

根证书位于,编辑器 .vscode.init 文件夹中

运行效果

 卸载删除

docker rm -f vscode
rm -rf /data/docker-data/vscode

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐