
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像提供了HashiCorp Nomad调度器的Docker化部署版本,旨在简化Nomad的快速部署与测试。主要用途包括:
镜像设计参考了HashiCorp官方https://github.com/hashicorp/docker-consul%E7%9A%84%E5%AE%9E%E7%8E%B0%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%9F%BA%E4%BA%8Ehttps://github.com/djenriquez/nomad%E9%A1%B9%E7%9B%AE%E7%9A%84%E5%9F%BA%E7%A1%80%E8%BF%9B%E8%A1%8C%E5%BC%80%E5%8F%91%E3%80%82
/etc/nomad目录,或通过NOMAD_LOCAL_CONFIG环境变量直接注入配置内容host网络模式运行,确保Nomad正常通信/var/run/docker.sock以支持Docker任务驱动/tmp目录,满足Nomad默认临时文件需求(尤其在-dev模式下)NOMAD_DISABLE_PERM_MGMT环境变量privileged权限以支持各类任务驱动host网络模式与挂载卷功能/var/run/docker.sock(Docker任务驱动必需)/tmp(临时文件存储)/host/path/to/nomad/data)通过Docker Compose可快速启动开发环境,示例配置如下:
yamlversion: '2.1' services: nomad: image: multani/nomad command: agent -dev # 开发模式运行 privileged: true # 开发模式需特权权限 network_mode: host # 使用主机网络 environment: # 直接注入Nomad配置内容 NOMAD_LOCAL_CONFIG: | data_dir = "/nomad/data/" volumes: - /var/run/docker.sock:/var/run/docker.sock:rw # 挂载Docker socket - /tmp:/tmp # 共享临时目录
启动命令:
bashdocker-compose up
核心特性
部署命令
bashdocker run -d \ --name nomad-server \ --net host \ # 主机网络模式 --user nomad \ # 非root用户运行 -e NOMAD_DISABLE_PERM_MGMT=true \ # 禁用权限管理 -e NOMAD_LOCAL_CONFIG=' # 服务器配置内容 server { enabled = true bootstrap_expect = 3 # 期望的服务器节点数(集群启动需满足) } datacenter = "${REGION}" # 数据中心名称(需替换为实际值) region = "${DATACENTER}" # 区域名称(需替换为实际值) data_dir = "/nomad/data/" # 数据目录(容器内路径) bind_addr = "0.0.0.0" # 绑定所有网络接口 advertise { # 服务发现地址配置 http = "{{ GetPrivateIP }}:4646" # HTTP API端口 rpc = "{{ GetPrivateIP }}:4647" # RPC端口 serf = "{{ GetPrivateIP }}:4648" # Serf通信端口 } ' \ -v "nomad:/nomad/data:rw" # 数据卷挂载(持久化存储) multani/nomad agent # 启动Nomad代理
核心特性
privileged权限以支持各类任务驱动部署命令
bashdocker run -d \ --name nomad-client \ --net host \ # 主机网络模式 --privileged \ # 客户端需特权权限 -e NOMAD_LOCAL_CONFIG=' # 客户端配置内容 client { enabled = true # 启用客户端模式 } datacenter = "${REGION}" # 数据中心名称(需替换为实际值) region = "${DATACENTER}" # 区域名称(需替换为实际值) data_dir = "/nomad/data/" # 数据目录(容器内路径) bind_addr = "0.0.0.0" # 绑定所有网络接口 advertise { # 服务发现地址配置 http = "{{ GetPrivateIP }}:4646" # HTTP API端口 rpc = "{{ GetPrivateIP }}:4647" # RPC端口 serf = "{{ GetPrivateIP }}:4648" # Serf通信端口 } ' \ -v "/srv/nomad/data:/nomad/data:rw" \ # 数据目录挂载 -v "/var/run/docker.sock:/var/run/docker.sock" \ # Docker socket挂载 -v "/tmp:/tmp" \ # 临时目录挂载 multani/nomad agent # 启动Nomad代理
| 环境变量名 | 说明 | 取值示例 |
|---|---|---|
NOMAD_LOCAL_CONFIG | 直接注入Nomad配置内容,支持HCL/JSON格式 | data_dir = "/nomad/data/" |
NOMAD_DISABLE_PERM_MGMT | 非root用户运行时设置,禁用Nomad权限管理功能 | true |
NOMAD_DATA_DIR | 数据目录路径(需与挂载路径一致,用于模板文件路径映射) | /host/path/to/nomad/data |
| 配置项 | 说明 | 服务器模式 | 客户端模式 |
|---|---|---|---|
server.enabled | 是否启用服务器模式 | true | false |
client.enabled | 是否启用客户端模式 | false | true |
data_dir | 数据存储目录路径(需与容器挂载路径一致) | 必需 | 必需 |
bind_addr | 绑定地址,通常设为0.0.0.0以监听所有接口 | 必需 | 必需 |
advertise | 服务发现地址配置,包含HTTP/RPC/Serf端口 | 必需 | 必需 |
Nomad生成的模板文件路径依赖于data_dir配置,为确保宿主机Docker daemon能正确挂载这些路径,需满足以下条件:
路径一致性:容器内data_dir路径必须与宿主机挂载路径完全一致
示例:宿主机路径/host/nomad/data需挂载为容器内同路径,配置data_dir = "/host/nomad/data"
环境变量传递:通过NOMAD_DATA_DIR环境变量显式指定数据目录路径,确保配置与挂载同步:
bashexport NOMAD_DATA_DIR=/host/path/to/nomad/data docker run \ ... \ -v "$NOMAD_DATA_DIR:$NOMAD_DATA_DIR:rw" \ # 路径保持一致 -e "NOMAD_DATA_DIR=$NOMAD_DATA_DIR" \ # 传递环境变量 multani/nomad agent
chown -R 1000:1000 /host/path/to/nomad/data)# Nomad Docker镜像文档本镜像提供HashiCorp Nomad调度器的Docker化部署版本,主要用于测试环境及小型Nomad集群部署。镜像设计参考Hashicorp官方https://github.com/hashicorp/docker-consul%E6%A8%A1%E5%9E%8B%EF%BC%8C%E5%9F%BA%E4%BA%8Ehttps://github.com/djenriquez/nomad%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E3%80%82
镜像需运行在主机网络模式下,支持灵活配置与非root用户运行,适合快速搭建Nomad测试环境或轻量级部署场景。
/etc/nomad目录,或使用NOMAD_LOCAL_CONFIG环境变量直接注入配置内容/var/run/docker.sock以启用Docker任务驱动/tmp目录存储临时文件,需从宿主机挂载host网络模式确保Nomad组件间通信正常NOMAD_DISABLE_PERM_MGMT环境变量可禁用权限管理,支持非root用户运行privileged标志以支持Docker、网络等任务驱动host网络模式与挂载卷功能/var/run/docker.sock(Docker任务驱动必需)/tmp(临时文件存储)/srv/nomad/data)适用于开发测试环境,一键启动Nomad开发模式:
yamlversion: '2.1' services: nomad: image: multani/nomad command: agent -dev # 开发模式运行 privileged: true # 开发模式需特权权限 network_mode: host # 使用主机网络 environment: NOMAD_LOCAL_CONFIG: | # 内联配置 data_dir = "/nomad/data/" volumes: - /var/run/docker.sock:/var/run/docker.sock:rw # Docker socket挂载 - /tmp:/tmp # 临时目录共享
启动命令:
bashdocker-compose up
核心配置要点
NOMAD_DISABLE_PERM_MGMT=true)部署命令示例
bashdocker run -d \ --name nomad-server \ --net host \ --user nomad \ # 非root用户运行 -e NOMAD_DISABLE_PERM_MGMT=true \ -e NOMAD_LOCAL_CONFIG=' server { enabled = true bootstrap_expect = 3 # 集群引导节点数 } datacenter = "dc1" region = "global" data_dir = "/nomad/data/" bind_addr = "0.0.0.0" advertise { http = "{{ GetPrivateIP }}:4646" rpc = "{{ GetPrivateIP }}:4647" serf = "{{ GetPrivateIP }}:4648" } ' \ -v "nomad-data:/nomad/data:rw" # 数据卷持久化 multani/nomad agent
核心配置要点
privileged权限支持任务驱动部署命令示例
bashdocker run -d \ --name nomad-client \ --net host \ --privileged \ # 客户端需特权权限 -e NOMAD_LOCAL_CONFIG=' client { enabled = true } datacenter = "dc1" region = "global" data_dir = "/nomad/data/" bind_addr = "0.0.0.0" advertise { http = "{{ GetPrivateIP }}:4646" rpc = "{{ GetPrivateIP }}:4647" serf = "{{ GetPrivateIP }}:4648" } ' \ -v "/srv/nomad/data:/nomad/data:rw" \ # 数据目录 -v "/var/run/docker.sock:/var/run/docker.sock" \ # Docker socket -v "/tmp:/tmp" \ # 临时目录 multani/nomad agent
| 环境变量名 | 说明 | 适用场景 |
|---|---|---|
NOMAD_LOCAL_CONFIG | 内联配置内容,支持HCL/JSON格式,优先级高于挂载文件 | 所有模式 |
NOMAD_DISABLE_PERM_MGMT | 禁用Nomad权限管理,非root用户运行时必需 | 服务器模式(非root运行) |
NOMAD_DATA_DIR | 数据目录路径(需与挂载路径一致,用于模板文件路径映射) | 所有模式 |
| 配置项 | 说明 | 服务器模式 | 客户端模式 |
|---|---|---|---|
server.enabled | 启用服务器模式 | true | false |
client.enabled | 启用客户端模式 | false | true |
data_dir | 数据存储目录(必须与容器挂载路径一致) | 必需 | 必需 |
bind_addr | 绑定地址,通常设为0.0.0.0 | 必需 | 必需 |
advertise | 服务发现地址配置,包含HTTP(4646)、RPC(4647)、Serf(4648)端口 | 必需 | 必需 |
bootstrap_expect | 集群引导期望节点数(服务器模式) | 集群初始化 | 不适用 |
Nomad模板文件路径依赖data_dir配置,为确保宿主机Docker daemon能正确挂载这些路径,需满足:
路径一致性:容器内data_dir路径必须与宿主机挂载路径完全相同
示例:宿主机路径/host/nomad/data需挂载为容器内同路径,配置data_dir = "/host/nomad/data"
环境变量传递:通过NOMAD_DATA_DIR显式指定路径,确保配置与挂载同步:
bashexport NOMAD_DATA_DIR=/host/nomad/data docker run \ ... \ -v "$NOMAD_DATA_DIR:$NOMAD_DATA_DIR:rw" \ -e "NOMAD_DATA_DIR=$NOMAD_DATA_DIR" \ multani/nomad agent
chown -R 1000:1000 /host/nomad/data)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


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