
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这是一个非常小的容器(总大小7.7 Mb),但仍具备工作的init进程、crond、syslog和logrotate。它是所有其他微容器的基础镜像。
Unix进程ID 1是在执行docker stop <容器ID>时接收SIGTERM信号的进程。如果容器的命令是CMD ["bash"],则bash进程会收到SIGTERM信号并终止,而系统上运行的所有其他进程将直接停止,无法正确关闭。
此容器使用runit来处理自动启动和关闭进程。
在容器内添加自定义启动脚本
在/etc/service/目录下创建与要启动的进程对应的目录。以添加nginx启动脚本为例,首先创建目录:
bashmkdir /etc/service/nginx
然后在该目录中创建名为run的文件,包含nginx的启动代码:
bash#!/bin/sh exec 2>&1 exec /usr/sbin/nginx -c /etc/nginx/nginx.conf -g "daemon off;"
并使该文件可执行:
bashchmod +x /etc/service/nginx/run
容器启动时会自动执行该命令。确保命令以保持前台运行的标志启动,否则runit会认为进程已结束并尝试重启。
在Dockerfile中添加
上述示例可通过Dockerfile实现:在与Dockerfile相同的目录中创建nginx.sh文件,内容为:
bash#!/bin/sh exec 2>&1 exec /usr/sbin/nginx -c /etc/nginx/nginx.conf -g "daemon off;"
使文件可执行:
bashchmod +x nginx.sh
并在Dockerfile中添加以下行:
dockerfileADD nginx.sh /etc/service/nginx/run
启动脚本中的环境变量
如果需要Docker命令行(-e,--env=[])传递的环境变量,在脚本中使用前添加:
bashsource /etc/envvars
此容器中有一个处理init进程的脚本,使用supervisor系统启动守护进程,并捕获信号(SIGTERM)以关闭所有由supervisord启动的进程。这是Phusion的init脚本的修改版本,改用supervisor替代runit。还有两个目录用于运行脚本:
一次性运行脚本 /etc/runonce
此目录中的所有可执行文件在启动时运行,完成后会从目录中删除。
每次启动运行脚本 /etc/runalways
此目录中的所有可执行文件在容器每次启动时运行,即docker run和docker start时。
容器启动时输出到docker日志的永久信息
每次容器启动时,文件/tmp/startup.log的内容会被显示。如果启动脚本生成重要信息需要展示,请将信息添加到此文件。可通过docker logs <容器ID>随时获取此信息。
许多场景下需要按特定间隔执行任务,标准镜像默认不启动cron进程。此镜像中cron与logrotate一起运行,防止长时间运行的容器日志文件过大。
并非所有服务都能在没有syslog守护进程的情况下工作,若没有syslog,这些消息将丢失。通过syslog守护进程发送的所有消息保存在/var/log/syslog中。
除init进程外,还包含与在Docker容器中运行Linux相关的修复。
此容器通常应作为守护进程运行,即附加-d标志:
bashdocker run -d nimmis/alpine-micro
通过shell访问容器:
bashdocker exec -ti <容器ID> /bin/sh
这是nimmis/alpine基础容器中用于额外功能的命令。
set_tz
默认配置下Alpine设置为GMT时间,如需使用正确时间,可通过以下命令更改容器时区,语法:
bashset_tz <时区>
获取可用时区列表:
bashset_tz list
启动时设置时区
添加环境变量TIMEZONE指定所需时区,例如设置为CET斯德哥尔摩:
bashdocker run -d -e TIMEZONE=Europa/Stockholm nimmis/alpine-micro
在运行中的容器设置时区
在容器上执行命令:
bashdocker exec -ti <容器ID> set_tz Europa/Stockholm
启动容器前获取时区列表
执行以下命令,将列出可用时区,然后删除容器:
bashdocker run --rm nimmis/alpine-micro set_tz list
如果对此镜像有任何问题或疑问,请通过https://github.com/nimmis/docker-alpine-micro/issues "GitHub issue"提交工单联系我们:
cat /etc/BUILDS/***的输出欢迎贡献新功能、修复或更新,无论大小;我们始终乐于接收拉取请求,并尽力快速处理。
此镜像仅包含Alpine的最新版本,标签格式为nimmis/alpine-micro:
| 标签 | Alpine版本 | 大小 |
|---|---|---|
| latest | latest/3.15 | |
| 3.15 | 3.15 | |
| 3.14 | 3.14 | |
| 3.13 | 3.13 | |
| 3.12 | 3.12 | |
| 3.11 | 3.11 | |
| 3.10 | 3.10 | |
| 3.9 | 3.9 | |
| 3.8 | 3.8 | |
| 3.7 | 3.7 |
已弃用(不安全,不建议使用)
| 标签 | Alpine版本 | 大小 |
|---|---|---|
| 3.6 | 3.6 | |
| 3.5 | 3.5 | |
| 3.4 | 3.4 | |
| 3.3 | 3.3 | |
| 3.2 | 3.2 | |
| 3.1 | 3.1 | |
| edge | edge |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务