code-server容器安装扩展

最后发布时间 : 2026-08-17 17:17:49 浏览量 :
FROM registry.cn-hangzhou.aliyuncs.com/wybioinfo/code-server:4.104.3

RUN mkdir -p /config/data /config/extensions \
	&& /app/code-server/bin/code-server \
		--user-data-dir /config/data \
		--extensions-dir /config/extensions \
		--install-extension quarto.quarto

我先快速检查你这个 dockerfile 的当前写法,然后给出可直接运行的安装方式,并把 Dockerfile 一并改成可用版本。

Read

我将把安装命令改为使用镜像内 code-server 的绝对路径,并显式指定扩展目录,避免 PATH/入口脚本导致的 code-server: not found

Generating patch (15 lines) in


接下来我会快速验证镜像里二进制路径是否存在,确保给你的命令是可执行的。

Ran terminal command: docker run --rm --entrypoint /bin/sh registry.cn-hangzhou.aliyuncs.com/wybioinfo/code-server:4.104.3 -lc 'ls -l /app/code-server/bin/code-server'

我再验证一次“离线安装命令”本身,确认它在这个镜像上能正常执行。

Ran terminal command: docker run --rm --entrypoint /app/code-server/bin/code-server registry.cn-hangzhou.aliyuncs.com/wybioinfo/code-server:4.104.3 --user-data-dir /tmp/data --extensions-dir /tmp/extensions --install-extension quarto.quarto

Checked terminal output

Checked terminal output

Killed terminal

我已经完成修正并验证了二进制路径,最后再看一眼仓库记忆,确认是否需要补充这次踩坑结论。

Read memory

Created memory file

根因是这个镜像在你这种调用路径下,后续脚本里找不到 PATH 中的 code-server,所以出现了:
/run/s6/basedir/scripts/rc.init: 76: code-server: not found

我已经把你的 Dockerfile 改好了,位置是 dockerfile。

现在文件内容等价于:

  • 使用标准 FROM 大写
  • 用绝对路径 /app/code-server/bin/code-server 安装扩展
  • 显式指定 user-data-dir 和 extensions-dir

你可以直接构建:

docker build -f docker/quarte/dockerfile -t my-code-server-quarto docker/quarte

然后运行:

docker run -d
--name code-server
-p 8443:8443
-v code_config:/config
my-code-server-quarto

如果你不想重建镜像,也可以一次性安装(推荐用绝对路径 + 挂载 /config 持久化):

docker run --rm
-v code_config:/config
--entrypoint /app/code-server/bin/code-server
registry.cn-hangzhou.aliyuncs.com/wybioinfo/code-server:4.104.3
--user-data-dir /config/data
--extensions-dir /config/extensions
--install-extension quarto.quarto

补充说明:

  • 我验证了镜像里确实存在 /app/code-server/bin/code-server。
  • 我也实测了安装命令可启动安装流程;在当前网络环境下下载阶段长时间无输出,所以我中止了等待,这通常是网络或扩展商店连通性问题,不是命令格式问题。

Made changes.