黑群晖 Docker 搭建 code-server

群晖自带的 GUI Docker 功能比较简单,无法自定义运行的参数(如 -d -e 等),而目前版本的 code-sever 在进行目录映射时需要 root 权限,所以需要添加 -u root 参数,以 root 用户启动容器

  • 提出“在进行目录映射时需要 root 权限”是因为如果在 Docker 中不添加目录映射,直接启动 code-server,容器是可以成功运行的

解决方法也很简单,使用群晖的计划任务,执行 CLI 的 Docker 指令

环境

  • DS3617xs 型号
  • DSM版本 6.1.715284 – Update 3

参考

步骤

有些步骤忘记截图了

  1. 在 Docker 中下载 code-server 容器
    • 在【注册表】中搜索 code-server
    • 注意选择 v2 版本
  2. 创建 code-server 映射文件夹
    • 在控制面版新建一文件夹
    • 在新的文件夹中再新建两个文件夹,用来存储 code-server 的配置文件和项目内容
  3. 通过 SSH 连接到群晖
    • 使用 admin 账号(即 Web 端管理员账号)即可
  4. 新建 docker 启动脚本
    • SSH 登陆后,因为没有 admin 账户的主目录,默认会进入根目录
    • 为了方便日后管理计划任务脚本,在根目录新建并进入定时任务文件夹
      mkdir Tasks
      cd Tasks
    • 新建 Docker 启动脚本
      sudo vim vscode-web.sh
      #添加以下内容
      docker run -it -d --restart=always -u root -p 0.0.0.0:8080:8080 -e PASSWORD='2DamnStrongPassword' -v "/volume{X}/VSCode/code-server:/home/coder/.local/share/code-server" -v "/volume{X}/VSCode/project:/home/coder/project" codercom/code-server:v2

      其中,如果只是本机访问将 0.0.0.0 改为 127.0.0.1
      /volume{X}/{文件夹名} 根据自己的情况修改,【volume+编号】即第二步在哪个存储空间新建的文件夹
      自行更改登陆密码 PASSWORD 变量

    • 因为是使用 root 用户登录,/home/coder/.local/share/code-server 下应该是没有配置文件的,理论上这个配置文件目录应该是 /root/.local/share/code-server,没有亲自尝试
    • 同样是因为 root 用户,如果之后直接在 ~ 目录下新建项目,使用上面的命令是无法将项目目录映射出来的,需要手动进入 /home/coder/project 目录新建项目
  5. 新建计划任务
    • 进入群晖的 Web 管理界面,打开【控制面板-计划任务-创建触发任务】
    • 如下新建计划任务
  6. 开启并执行计划任务

效果

 

7 thoughts on “黑群晖 Docker 搭建 code-server

  1. 你好,我也是黑群晖docker搭建的code-server,我目前准备配置python环境.请问你配置了吗?我碰到的问题就是docker内的code-server如何连接到宿主机的python环境?

    1. 我使用的docker内部的python环境,直接用vs code的终端安装
      用外部环境可以试试映射一下路径,启动前加一下docker环境变量

      1. 请问server-code的终端怎么直接安装python?我是用了VSIX方式安装了python跟python extended,但是还是找不到解释器?

        1. code server的docker image本身就是一个Debian
          所以vscode的终端可以直接使用apt包管理器跟docker内部环境交互,安装python环境可以直接执行 apt install python3 python3-pip
          至于VSIX我没有试过,手头也没有现成的code server,没法解决这个问题

          1. 好的谢谢,我这里直接输入apt install python3 python3-pip提示找不到包,后来1、sudo apt-get update
            2、sudo apt-get install python3-pip
            后再apt install python3 python3-pip就OK了

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据