如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
koalaman/shellcheck 是 https://github.com/koalaman/shellcheck 的官方 Docker 镜像。ShellCheck 是一款针对 shell 脚本的静态分析工具,可检测脚本中的语法错误、潜在问题、不符合最佳实践的写法及常见陷阱,帮助开发者编写更健壮、可靠的 shell 脚本。
shellcheck 二进制文件,无额外 Unix 用户空间工具,体积小巧。latest(最新提交)、stable(稳定版)及具体版本(如 v0.10.0)标签,满足不同稳定性需求。shellcheck 二进制文件复制到自定义 Docker 镜像,扩展基础镜像功能。通过 docker run 命令直接运行镜像,挂载当前目录到容器的 /mnt 目录(脚本需位于当前目录),可查看版本信息或检查脚本:
bash# 查看版本信息 docker run --rm -it -v "$(pwd):/mnt" docker.xuanyuan.run/koalaman/shellcheck:latest --version
参数说明:
--rm:容器退出后自动删除。-it:交互模式,分配终端。-v "$(pwd):/mnt":将宿主机当前目录挂载到容器的 /mnt 目录,使容器可访问宿主机脚本文件。为简化命令,可将 docker run 命令添加为 shell 别名(如 .bashrc 或 .zshrc):
bash# 添加别名到 .bashrc echo 'alias shellcheck="docker run --rm -it -v \"\$(pwd):/mnt\" koalaman/shellcheck:stable"' >> ~/.bashrc # 重启终端或执行以下命令使别名生效 source ~/.bashrc # 验证别名 shellcheck --version
说明:使用 stable 标签可确保获取稳定版本,避免频繁更新导致命令行为变化。
4.3.1 通过通配符检查脚本
检查当前目录下所有 .sh 后缀的脚本:
bashdocker run --rm -it -v "$(pwd):/mnt" docker.xuanyuan.run/koalaman/shellcheck:stable *.sh
4.3.2 递归按文件名检查
通过 find 命令递归查找所有 .sh 后缀的脚本并检查:
bashfind . -name '*.sh' -exec docker run --rm -it -v "$(pwd):/mnt" koalaman/shellcheck:stable {} +
4.3.3 递归识别 Shebang 检查
通过 find 和 grep 识别包含 #!.*sh shebang 的文件(无论是否有 .sh 后缀),并进行检查:
bashfind . -type f -exec grep -q '^#!.*sh' {} \; -exec docker run --rm -it -v "$(pwd):/mnt" koalaman/shellcheck:stable {} +
提示:为避免新版本导致构建中断,建议将 stable 替换为具体版本(如 v0.10.0)。更多高级集成方案可参考 https://github.com/koalaman/shellcheck-precommit。
基础镜像 koalaman/shellcheck 不含 Unix 用户空间工具(如 ls、grep 等)。如需集成 Linux 工具,可使用 https://hub.docker.com/r/koalaman/shellcheck-alpine/ 镜像,该镜像基于 Alpine Linux,包含完整用户空间工具集。
可通过多阶段构建,将 shellcheck 二进制文件复制到自定义镜像中(如基于 Alpine 的镜像):
dockerfile# 自定义镜像示例(基于 Alpine) FROM docker.xuanyuan.run/alpine:latest # 从 shellcheck 镜像复制二进制文件 COPY --from=koalaman/shellcheck:stable /bin/shellcheck /bin/ # 验证安装 RUN shellcheck --version
| 标签格式 | 说明 | 适用场景 |
|---|---|---|
latest | 对应 ShellCheck 最新 Git 提交版本 | 尝鲜新功能,不保证稳定性 |
stable | 对应最新稳定发布版本 | 本地开发或非关键 CI 流程 |
v<版本号> | 具体版本(如 v0.10.0) | 关键 CI 流程,避免版本变更风险 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务