【Docker】Code Server:云IDE部署

Code Server 是一个开源项目,将 VS Code 编辑器移植到 Web 端,支持跨平台访问,统一管理云端开发环境,资源消耗低,且支持完整 VS Code 扩展生态。

本文将详细介绍如何使用 Docker 部署 Code Server。

环境准备与 Docker 安装

安装 Docker 引擎

在 Ubuntu 系统上执行以下命令安装最新版 Docker:

bash 复制代码
# 下载官方安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh

# 执行安装(需 sudo 权限)
sudo sh ./get-docker.sh

# 验证安装
docker --version

成功安装后,终端将显示类似 Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1 的版本信息。

配置用户权限(可选)

为了避免每次使用 docker 命令时都需要加 sudo,可以执行以下命令将当前用户添加到 Docker 用户组:

复制代码
bash复制编辑sudo usermod -aG docker $USER
newgrp docker  # 刷新用户组

基础部署配置

创建项目目录

首先,创建 Code Server 相关目录:

bash 复制代码
mkdir -p ~/code-server/{config,workspace}
cd ~/code-server

编写 docker-compose.yml 配置文件

接下来,创建 docker-compose.yml 文件,配置 Code Server 容器:

yaml 复制代码
services:  
  code-server:  
    image: linuxserver/code-server:latest  
    container_name: code-server  
    environment:  
      - PUID=1000                      # 推荐设置与宿主机相同的用户ID  
      - PGID=1000  
      - TZ=Asia/Shanghai  
      - DEFAULT_WORKSPACE=/workspace  
      - PASSWORD=your_secure_password_here  # 强烈建议修改  
      - SUDO_PASSWORD=your_sudo_password      # 需要执行特权操作时使用  
    volumes:  
      - ./config:/config                # 配置持久化  
      - ./workspace:/workspace          # 工作目录  
      - /path/to/host/dir:/host        # 可选宿主机目录挂载  
    network_mode: host                  # 使用 host 网络模式  
    restart: unless-stopped

在此配置文件中,PASSWORD 和 SUDO_PASSWORD 是首次登录时用来访问 Code Server 的重要凭据,请确保安全。

启动服务

使用 Docker Compose 启动 Code Server:

bash 复制代码
# 后台启动
docker compose up -d

# 查看容器日志
docker compose logs -f

# 验证容器是否在运行
docker ps | grep code-server

访问 Code Server

通过浏览器访问:https://<服务器IP>:8443

首次访问时,浏览器可能会提示 SSL 证书警告。你可以忽略此警告(后续可以配置正式证书)。输入 PASSWORD 后即可登录。

推荐立即安装中文语言包,以便更方便使用:

集成 Docker 功能

如果你希望在 Code Server 中使用 Docker 功能,可以参考以下配置:

Docker 插件配置

如果你希望在 Code Server 中使用 Docker 插件(如管理容器、镜像等),可以在 docker-compose.yml 中加入以下配置(未知原因compose不可用):

yaml 复制代码
services:
  code-server:
    # 其他配置保持不变...
    volumes:
      - /run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker

插件安装后可能会出现Docker is not installed. ,解决方法是设置 Docker 进程权限:

bash 复制代码
sudo chmod 666 /var/run/docker.sock

日常维护命令

更新容器

为了确保容器的最新版本,使用以下命令进行更新:

bash 复制代码
docker compose pull && docker compose up -d --force-recreate

备份配置

定期备份你的配置和工作目录:

bash 复制代码
tar czvf code-server-backup-$(date +%Y%m%d).tar.gz config/ workspace/

扩展管理

查看已安装的扩展:

bash 复制代码
docker exec code-server code-server --list-extensions

安装新的扩展,例如 Python 扩展:

bash 复制代码
docker exec code-server code-server --install-extension ms-python.python

总结

通过本文介绍的步骤,你已经成功在 Docker 上部署了 Code Server,并且可以进行日常操作和扩展管理。你还可以根据需要集成 Docker 功能,方便在 Code Server 中进行容器管理。

相关推荐
便利店1024几秒前
系统活动一抓留存!深入 Linux C/C++ 调试工具之 sysdig
linux·运维·服务器·sysdig
智能运维指南1 小时前
企业 IT 运维自动化平台怎么选?从场景匹配到 POC 验证的完整评估框架
运维·自动化·自动化运维·嘉为蓝鲸
小马同学-1 小时前
K8s 控制器详解 — Deployment、ReplicaSet、DaemonSet 与 Job
云原生·容器·kubernetes
TTATTC2 小时前
单体应用如何支撑千所机构独立测评?拆解 sg-exam 行级多租户隔离与动态组卷内核
docker·开源
toooooop82 小时前
CentOS 7 内核 3.10.0-1160.119.1 升级指南
linux·运维·centos
TTATTC2 小时前
每加一个登录端都要改 Controller?Spring Boot 泛型策略工厂与模板切面演进
docker·开源
云飞云共享云桌面2 小时前
广东东莞制造工厂10人共享一台三维设计服务器
运维·服务器·3d·自动化·制造
程序员老赵2 小时前
Docker 部署 MaxKB:轻松搭建企业级智能体平台
前端·docker·agent
万联WANFLOW2 小时前
LiteLLM 1.107.0 投毒排查实战:依赖、Docker、CI 环境分别怎么查?
安全·docker·llm