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

相关推荐
熬夜苦读学习24 分钟前
Linux文件系统
linux·运维·服务器·开发语言·后端
荔枝荷包蛋66644 分钟前
【网络】高级IO——Reactor版TCP服务器
运维·服务器
GGGGGGGGGGGGGG.2 小时前
hapxory-ACL基础介绍及案例
运维·服务器·网络
黑牛先生2 小时前
【Linux】匿名管道
linux·运维·服务器
流星白龙2 小时前
【Linux】35.封装 UdpSocket(2)
linux·运维·windows
是码农没错了2 小时前
银河麒麟系统安装mysql5.7【亲测可行】
linux·运维·kylin
亲持红叶4 小时前
open-webui安装
docker·open-webui
伪装成塔的小兵4 小时前
Windows使用docker部署fastgpt出现的一些问题
windows·docker·容器·oneapi·fastgpt
技术小齐4 小时前
网络运维学习笔记 017HCIA-Datacom综合实验01
运维·网络·学习
大囚长5 小时前
AI工作流+专业知识库+系统API的全流程任务自动化
运维·人工智能·自动化