
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Dockerfiles useful for chicken scheme
development. An optional custom chicken-assemble script is also
provided, used to build projects in an opinionated, structured way.
You may pick a flavour built on top of popular linux distros:
bashdocker pull plotter/chicken-scheme:5.4.0-alpine docker pull plotter/chicken-scheme:5.4.0-debian docker pull plotter/chicken-scheme:5.4.0-ubuntu docker pull plotter/chicken-scheme:5.4.0-rockylinux
Mount your source code directory into a running container to access chicken's REPL and/or compiler:
bashdocker run --rm -it --workdir /src -v $(pwd):/src plotter/chicken-scheme
For truly static builds, prefer the alpine base image and set the
proper compiler and linker flags:
dockerfileFROM plotter/chicken-scheme:5.4.0-alpine WORKDIR /src COPY . . RUN csc -static -L -static -L -no-pie main.scm ENTRYPOINT ["/src/main"]
You may also choose to build a barebones scratch image containing
only the desired ***ary:
dockerfileFROM plotter/chicken-scheme:5.4.0-alpine as build WORKDIR /src COPY . . RUN csc -static -L -static -L -no-pie main.scm FROM scratch COPY --from=build /src/main /bin/main ENTRYPOINT ["/bin/main"]
chicken-assemble-based projectschicken-assemble is a simple script which builds a single source
file given a directory of source files, to be used for later
compilation. The script wraps each file's contents into a module, and
provides an unofficial local import used for referencing in-folder
files as modules.
The following illustrates the appropriate directory structure, in case
you decide to use chicken-assemble:
. └── src ├── bar │ └── baz.scm ├── core.scm └── foo.scm
Where . is where you'd put non-source files like a Dockerfile, or
license information.
src and core.scm are the default values for both arguments of
chicken-assemble. They represent the source code folder and the main
module, respectively. core.scm should declare a -main. The
following is a possible listing of all these files contents
(core.scm, foo.scm and bar.scm):
scheme;; file: src/core.scm (import scheme chicken.base (local foo)) (define (-main) (print (foo/do-thing))) ;; file: src/foo.scm (import scheme chicken.base (local bar.baz)) (define (do-thing) (print "Doing a thing") bar.baz/thing) ;; file: src/bar/baz.scm (import scheme) (define thing "The nicest thing")
To assemble them all, run:
bashchicken-assemble src core > _app.scm
And the contents of _app.scm would turn out to be:
scheme(module bar.baz * (import scheme) (define thing "The nicest thing")) (module foo * (import scheme chicken.base (prefix bar.baz bar.baz/)) (define (do-thing) (print "Doing a thing") bar.baz/thing)) (module core * (import scheme chicken.base (prefix foo foo/)) (define (-main) (print (foo/do-thing)))) (import (chicken process-context) (prefix core core/)) (apply core/-main (command-line-arguments))
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务