群晖docker中安装VS code

群晖docker中安装VS code – Rookie diary (tuyogf.top)icon-default.png?t=M1FBhttps://tuyogf.top/%e7%be%a4%e6%99%96docker%e4%b8%ad%e5%ae%89%e8%a3%85vs-code.html目录

  • 安装前的准备工作
  • 部署
  • 查看是否成功
  • 遇到的问题

安装前的准备工作:

  1. 确认是否已开启群晖22端口。开启路径 :控制面板>终端机和SNMP
  2. 确认是否已安装docker套件.确认路径:套件中心>已安装>docker

 

部署

1.ssh链接至群晖.

cd /volume1/docker (根据自己群晖的实际目录进行操作)进入到docker文件夹下

mkdir volume1/docker/cdr  #在docker下创建名字为cdr的文件夹

然后cd 至homes文件路径下

mkdir volume2/homes/133236863**/vscode  #在homes/133*******下创建名字为vscode的文件夹(根据自己的实际目录进行操作)
mkdir volume2/homes/133236863**//projects  #在homes/133*******下创建名字为/projects的文件夹(根据自己的实际目录进行操作)

完成后进行下一步配置,查看用户GID和UID:

cat /etc/passwd | grep 1332368****  
1332368****@FuXi:/volume1/docker$ cat /etc/passwd | grep 1332368****
1332368****:x:1026:100::/var/services/homes/1332368****:/bin/sh

上述高亮部分一定要注意.要记住便以后续使用.

完成后写一个docker-compose.yaml的文件放入cdr路径下,代码如下:

version: "3"

services:

  cdr:
    image: codercom/code-server:3.10.2
    container_name: cdr
    restart: always
    expose:
      - 8080
    ports:
      - 8080:8080
    user: 1026:100  #此部分便是上述查看的内容根据自己实际的内容进行填写.
    environment:
      - TZ=Asia/Shanghai
      - DOCKER_USER=13323686392
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /volume2/homes/13323686***/vscode:/home/coder/.config:rw
      - /volume2/homes/13323686***/projects:/home/coder/project:rw
    logging:
      driver: "json-file"
      options:
        max-size: "1m"

其中volumes:部分应该指的是容器的文件目录与挂载目录,当我走到这一步是仅修改了原文中的路径导致后续出现了一些小的问题,这个部分我们后续再说.

放入cdr目录下后我们就可以开始打开容器啦:

docker-compose up -d    #打开容器命令
docker-compose logs -f  #查看启动过程

查看是否成功

此时走到这一步如果没有问题应该就可以在群晖中看到你的容器已经跑了起来并且在映像一栏多了一个codercom的映像.

登录的话使用你自己的IP:8080,即可登陆后可能需要密码

密码存放在刚才创建的/vscode/code-server路径下的文件内.

遇到的问题

1.config文件内的密码修改后必须重启容器.

当我创建成功后我找到了密码文件想要搞一个自己能记住的所以修改了文件内容,但是当我实际使用时却发现仅修改那个文件时无效的,config.yaml文件修改完成后要重启容器才会生效.

2.根据原文中的代码路径配置完成后文件无法保存(可能是个人操作问题,如果是希望能有大佬指出)

针对此问题我就从图形界面从新加了一个挂载路径,如图:

进入docker套件中找到容器点击停止,选中编辑容器点击添加文件添加路径就可以啦.


版权声明:本文为zymbb原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。