docker运行code-servre并配置https通信

code-server 可以在浏览器中运行,使得开发者可以随时随地通过网络访问自己的开发环境,无需局限于某一台设备。只要有浏览器和网络连接,就可以继续编写代码和调试项目,非常适合远程办公和移动办公的需求。

由于每次启动code-server都要重新配置环境和插件,为了方便,我这里直接封装了一套,包含简单的 bash插件 和简体中文以及主题美化。

拉取容器 (容器版本v4.95.1)

bash 复制代码
__run_vscode_server() {
    _name="code-server"
    docker rm -f "$_name" 2>/dev/null
    _password=$(date +%s%N | md5sum | cut -c 1-32)
    {
        # 镜像准备
        _image1="registry.cn-hangzhou.aliyuncs.com/qingtongqingc/node-app:v4.95.1-t241108"
        _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 -d --name "$_name" \
        --user=root \
        -p 8989:8080 \
        -e PASSWORD="$password" \    #也可以自己直接指定密码
        -v /data/workspace:/root/workspace \
        -v /ssl/qingtongqing.cc_nginx:/certs \  #请根据自己的证书路径修改
        --privileged \
        --workdir=/root/workspace \
        --restart=always \
        --runtime=runc \
        "$_image2" \
        --cert /certs/qingtongqing.cc_bundle.pem \
        --cert-key /certs/qingtongqing.cc.key

        #查看密码
        sleep 4s && echo -e "\n登陆密码:"
        docker exec -it "$_name" cat /root/.config/code-server/config.yaml | grep password:
        #指定密码后,环境变量会将明文密码哈希以后的值存入文件中,这时的密码属于加密的
}
__run_vscode_server

如果你想在自定义更丰富的参数的话,也可以手动拉取容器后,自行拉起

bash 复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/qingtongqingc/node-app:v4.95.1-t241108

最后效果

如果不合适也可以根据自己的编程习惯重新封装

相关推荐
java_logo6 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
xbzb7 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
打工仔折腾 AI11 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
xbzb15 小时前
自建镜像仓库:registry 一条命令 + harbor 部署、授权、跨库同步与卸载
docker·harbor·镜像·仓库·同步·registry
CodeYp20192 天前
第13讲:HTTPS 协议原理
linux·https
wz97542 天前
Docker 从 systemd 托管容器、overlay2 存储驱动到 Compose 多容器实战
spring cloud·docker·eureka
Thanks_ks2 天前
HTTPS:浏览器地址栏那把锁的工作原理
http·网络安全·https·tls·加密算法·数字证书·中间人攻击
新*2 天前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词
小白的码BUG之路2 天前
Jenkins -- gitee+docker+harbor+k8s 部署项目
docker·gitee·jenkins
AlfredZhao2 天前
Docker Compose 平滑切换环境变量文件,容器配置不残留
docker