【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 中进行容器管理。

相关推荐
XIAOHEZIcode1 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220702 天前
如何搭建本地yum源(上)
运维
武子康2 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工5 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn865 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
酣大智5 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_5 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化