【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

在此配置文件中,PASSWORDSUDO_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 中进行容器管理。

相关推荐
EMTime3 小时前
Docker运行OpenWRT
运维·docker·容器
lolo大魔王4 小时前
Linux 文件系统超全面详解(原理、结构、挂载、分区、inode、日志、管理命令)
linux·运维·服务器
zyl837216 小时前
Docker 使用手册
运维·docker·容器
古月方枘Fry7 小时前
MGRE实验
运维·服务器
stolentime7 小时前
FreeDomain 本地开发环境快速搭建指南
运维·服务器·网络
“码”力全开8 小时前
解耦异构算力与多协议接入:基于Docker与源码交付的开源企业级GB28181/RTSP边缘计算AI视频管理平台架构深度解析
人工智能·docker·开源
bush48 小时前
嵌入式linux学习记录四
linux·运维·学习
maomao大哥闯天下9 小时前
K8s如何实现滚动更新、健康检查与探测机制
docker·容器·kubernetes
kaisun649 小时前
Docker 构建网络问题排查
网络·docker·eureka
lihao lihao10 小时前
软硬链接
linux·运维·服务器