
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像将多种常用的运行时环境和开发工具打包到单个容器中,作为开发的主要入口点。您可以在https://hub.docker.com/r/rucer/devenv%E6%89%BE%E5%88%B0%E6%9E%84%E5%BB%BA%E5%A5%BD%E7%9A%84%E9%95%9C%E5%83%8F%E3%80%82
推荐将此镜像与VS Code Remote一起使用。
bashdocker volume create devenv-code docker volume create devenv-share docker run -d \ --name devenv \ --hostname devenv \ --restart unless-stopped \ --init \ -p 2026:22 \ -v devenv-code:/root/code \ -v devenv-share:/root/share \ rucer/devenv
容器默认启动一个前台sleep infinity进程,因此无需额外操作即可保持运行。容器会自动启动OpenSSH服务器,若要从外部连接容器,需通过以下命令为root用户设置密码:
bash# 单行静默设置密码 $ usermod --password $(echo ${PASSWORD} | openssl passwd -1 -stdin) root # 或交互式设置密码 $ passwd
推荐运行容器时添加--init标志,因为容器设计为持续运行多个服务,--init会分配一个小型init进程来回收僵尸进程。
容器默认通过supervisord创建多个后台任务,详细任务可在/etc/supervisor/conf.d目录下找到。所有任务简要列表如下:
| 优先级 | 分组 | 任务 | 端口 | 自动启动 | 说明 |
|---|---|---|---|---|---|
| 101 | System | syslog | true | 系统日志服务 | |
| 102 | System | dbus | true | 系统级消息总线 | |
| 103 | System | ntp | false | 网络时间同步 | |
| 104 | System | ssh | 22 | true | 通过SSH启用外部连接 |
| 105 | System | cron | true | 定时任务执行 | |
| 106 | System | ftp | false | 安全FTP服务器 | |
| 201 | Service | fail2ban | false | 封禁多次认证失败的主机 | |
| 202 | Service | filebrowser | 4000 | false | 多功能容器文件系统检查工具 |
| 203 | Service | webhook | 9000 | false | 通过HTTP请求触发命令 |
| 301 | Tool | iperf | 5201 | false | 网络带宽分析工具 |
以下表格列出了多个类别,每个类别包含精选的软件包和组件:
| 类别 | 名称 | 版本 | 说明 |
|---|---|---|---|
| Base | bsdmainutils | 12.1.8 | FreeBSD实用工具的过渡包 |
| Base | cron | 3.0 | 进程调度守护进程 |
| Base | kmod | 31 | Linux内核模块管理工具 |
| Base | libreadline8 | 8.2 | GNU readline和历史记录库 |
| Base | locales | 2.39 | GNU C库:国家语言(locale)数据 |
| Base | rsyslog | 8.2312.0 | 可靠的系统和内核日志守护进程 |
| Base | sudo | 1.9.15 | 为特定用户提供有限的超级用户权限 |
| Base | openssh-server | 9.6 | 安全shell(SSH)服务器 |
| 类别 | 名称 | 版本 | 说明 |
|---|---|---|---|
| System | ascii | 3.18 | 交互式ASCII名称和同义词表 |
| System | https://github.com/sharkdp/bat | 0.24.0 | 增强版cat工具 |
| System | https://www.busybox.net | 1.36.1 | 嵌入式Linux的瑞士军刀 |
| System | dos2unix | 7.5.1 | 转换文本文件行结尾(CRLF与LF) |
| System | https://github.com/muesli/duf | 0.8.1 | 磁盘使用/空闲工具(替代df) |
| System | https://github.com/fail2ban/fail2ban | 1.0.2 | 封禁多次认证失败的主机守护进程 |
| System | fdisk | 2.39.3 | 分区工具集合 |
| System | gettext | 0.21 | GNU国际化工具 |
| System | https://git-scm.com | 2.43.0 | 分布式版本控制系统 |
| System | https://github.com/hishamhm/htop | 3.3.0 | 交互式文本模式进程查看器 |
| System | https://github.com/httpie/httpie | 3.2.2 | 现代化命令行HTTP客户端 |
| System | https://github.com/jeffkaufman/icdiff | 2.0.7 | 增强版彩色差异对比工具 |
| System | https://github.com/dylanaraps/neofetch | 7.1.0 | 命令行系统信息工具 |
| System | https://github.com/ranger/ranger | 1.9.3 | VIM风格的控制台文件管理器 |
| System | https://github.com/Supervisor/supervisor | 4.2.5 | 进程控制系统 |
| System | https://github.com/andreafrancia/trash-cli | 0.23.11.10 | 命令行回收站工具 |
| System | unicode | 3.1-1 | 显示Unicode字符属性 |
| System | vsftpd | 3.0.5 | 安全快速的FTP服务器 |
| System | wamerican-insane | 2020.12.07-2 | 美式英语词典 |
| System | http://www.zsh.org/ | 5.9 | 增强型shell(集成ohmyzsh) |
| 类别 | 名称 | 版本 | 说明 |
|---|---|---|---|
| Network | dnsutils | 9.18.3 | ***d9-dnsutils过渡包 |
| Network | iftop | 1.0pre4 | 显示网络接口带宽使用情况 |
| Network | iperf3 | 3.16 | IP网络带宽测量工具 |
| Network | iptables | 1.8.10 | 数据包过滤和NAT管理工具 |
| Network | ntp | 4.2.8 | 网络时钟同步协议工具 |
| Network | telnet | 0.17 | 基础telnet客户端 |
| Network | traceroute | 2.1.5 | 跟踪数据包路由 |
| Network | https://launchpad.net/ufw | 0.36.2 | Netfilter防火墙管理工具 |
| Network | whois | 5.5.22 | 智能WHOIS客户端 |
| 类别 | 名称 | 版本 | 运行时管理器 | 运行时管理器版本 |
|---|---|---|---|---|
| Runtime | C/C++ | 13.3.0 | ||
| Runtime | Python | 3.12.6 | uv | 0.8.13 |
| Runtime | .NET | 8.0.119 | ||
| Runtime | Elixir | 1.17.3 | ||
| Runtime | Erlang | 27 | ||
| Runtime | Go | 1.24.6 | ||
| Runtime | Java | 21 | ||
| Runtime | Lisp | 2.2.9 | ||
| Runtime | Lua | 5.4.1 | ||
| Runtime | Node | 22.18.0 | fnm | 1.38.1 |
| Runtime | Perl | 5.38.2 | ||
| Runtime | PHP | 8.3.6-FPM | ||
| Runtime | Ruby | 3.2.3 | ||
| Runtime | Rust | 1.89.0 |
| 类别 | 名称 | 版本 | 说明 |
|---|---|---|---|
| Tool | apache2-utils | 2.4.52 | Apache HTTP服务器工具 |
| Tool | https://github.com/asciinema/asciinema | 2.4.0 | 终端会话记录器 |
| Tool | bc | 1.07.1 | 命令行计算器 |
| Tool | https://github.com/bazelbuild/bazel | 8.3.1 | 快速可扩展的构建系统 |
| Tool | https://github.com/ClementTsang/bottom, btop | 0.11.1 | 跨平台进程/系统监控工具 |
| Tool | https://github.com/cheat/cheat | 4.4.2 | 命令行交互式 cheat sheet 工具 |
| Tool | https://github.com/AlDanial/cloc | 1.98 | 源代码行数统计工具 |
| Tool | exiftool | 13.34 | 元信息读写编辑工具 |
| Tool | https://github.com/FFmpeg/FFmpeg | 7.1 | 音视频处理工具 |
| Tool | https://github.com/filebrowser/filebrowser | 2.42.5 | 网页文件浏览器 |
| Tool | focus | - | 前台进程与后台进程对齐工具 |
| Tool | gencert | - | 生成自签名X.509证书 |
| Tool | genpass | - | 生成随机强密码 |
| Tool | https://github.com/gradle/gradle | 8.14.3 | 自动化构建工具 |
| Tool | inspect | - | 容器组件自检工具 |
| Tool | https://jmeter.apache.org | 5.6.3 | Java负载测试工具 |
| Tool | https://github.com/stedolan/jq | 1.7 | 命令行JSON处理器 |
| Tool | https://github.com/google/j*** | 0.20.0 | 数据模板语言 |
| Tool | lstime | - | 多时区时间列表工具 |
| Tool | https://github.com/iawia002/lux | 0.24.1 | 视频下载工具 |
| Tool | mirror | - | 将apt/npm/pip仓库切换为中国大陆镜像源 |
| Tool | https://dev.mysql.com/doc/refman/8.0/en/mysql.html | 8.0.43 | MySQL客户端 |
| Tool | https://www.postgresql.org/docs/current/app-psql.html | 16.9 | Postgres客户端 |
| Tool | https://protobuf.dev | 32.0 | Protocol Buffers编译器 |
| Tool | https://rsync.samba.org | 3.2.7 | 增量文件传输工具 |
| Tool | https://sqlite.org/cli.html | 3.45.1 | SQLite客户端 |
| Tool | ssh-key | - | 生成SSH密钥(存储于/root/.ssh-auto) |
| Tool | https://github.com/nvbn/thefuck | 3.32 | 命令错误修正工具 |
| Tool | vim | 9.1.697 | 增强版VIM(集成vimrc) |
| Tool | https://github.com/adnanh/webhook | 2.8.0 | 轻量级webhook服务器 |
| Tool | https://github.com/wg/wrk | 4.1.0 | HTTP基准测试工具 |
| Tool | https://github.com/mikefarah/yq | 4.47.1 | 命令行YAML/JSON处理工具 |
| 类别 | 名称 | 版本 | 说明 |
|---|---|---|---|
| Fun | https://github.com/abishekvashok/cmatrix | 2.0-6 | 终端版《黑客帝国》效果 |
| Fun | cowsay | 3.03 | ASCII艺术奶牛说话工具 |
| Fun | figlet | 2.2.5 | 大型ASCII艺术文字生成工具 |
| Fun | http://manpages.ubuntu.com/manpages/bionic/man6/fortune.6.html | 1.99.1 | 随机名言警句工具 |
| Fun | https://github.com/busyloop/lolcat | 100.0.1 | 彩虹输出工具 |
| Fun | http://manpages.ubuntu.com/manpages/bionic/man1/pv.1.html | 1.8.5 | 管道数据进度监控工具 |
| Fun | http://manpages.ubuntu.com/manpages/focal/en/man6/rig.6.html | 1.11 | 随机身份生成器 |
| Fun | https://github.com/mtoyoda/sl | 5.02 | 纠正错误输入的火车动画工具 |
| Fun | http://manpages.ubuntu.com/manpages/focal/en/man1/tree.1.html | 2.1.1 | 树形目录列表工具 |
若在GitHub Action中构建镜像时COPY/ADD指令出错,可在构建前执行以下命令修改Dockerfile作为临时解决方案:
bash$ sed -i -E "s/COPY --from(.*)/RUN true\nCOPY --from\1/" deploy/Dockerfile
镜像内置了一些Git配置,您可以通过以下命令或直接编辑${HOME}/.gitconfig覆盖:
bash$ git config --global user.name "${YOUR_NAME_HERE}" $ git config --global user.email "${YOU_EMAIL_HERE}" $ git config --global --unset branch.master.pushRemote
若不想通过Docker暴露额外端口,可使用SSH隧道将容器内服务暴露到主机。例如,将容器内3000端口的Express服务暴露到主机8000端口:
bash$ ssh -L 8000:127.0.0.1:3000 -p ${SSH_PORT} root@127.0.0.1
镜像基于最小化Ubuntu系统,部分组件(如rsyslog)需手动安装。许多系统服务(如sshd)依赖rsyslog生成日志,缺少rsyslog会导致/var/log/auth.log无法创建,进而影响fail2ban使用。镜像已安装rsyslog并注册为supervisor服务,无需额外操作即可使用。
遗憾的是,Docker镜像中无法(或难以)安装snapd。
在Windows平台使用时,建议设置WSL资源配额。参考WSL配置示例,以下是简化配置:
ini[wsl2] processors = 4 memory = 16GB swap = 8GB
由于WSL特性,Docker容器与Windows文件系统直接互操作可能极慢。建议避免直接挂载Windows卷,可使用命名卷或从WSL内部系统(如Ubuntu WSL)挂载文件。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务