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

相关推荐
SPC的存折5 小时前
1、Redis数据库基础
linux·运维·服务器·数据库·redis·缓存
爱学习的小囧6 小时前
VMware ESXi 6.7U3v 新版特性、驱动集成教程和资源包、部署教程及高频问答详情
运维·服务器·虚拟化·esxi6.7·esxi蟹卡驱动
小疙瘩6 小时前
只是记录自己发布若依分离系统到linux过程中遇到的问题
linux·运维·服务器
dldw7776 小时前
IE无法正常登录windows2000server的FTP服务器
运维·服务器·网络
运维有小邓@7 小时前
什么是重放攻击?如何避免成为受害者?
运维·网络·安全
Mr.王8357 小时前
Kubernetes宿主机本地盘池化管理
ceph·云原生·容器·kubernetes
汤愈韬8 小时前
下一代防火墙通用原理
运维·服务器·网络·security
IMPYLH8 小时前
Linux 的 od 命令
linux·运维·服务器·bash
Kk.08029 小时前
Linux(十一)fork实例练习、文件操作示例及相关面试题目分享
linux·运维·算法
数据雕塑家9 小时前
Linux下大文件切割与合并实战:解决FAT32文件系统传输限制
linux·运维·服务器