本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像提供了HashiCorp Nomad调度器的Docker化部署版本,旨在简化Nomad的快速部署与测试。主要用途包括:
镜像设计参考了HashiCorp官方Dockerized Consul镜像的实现模式,基于djenriquez/nomad项目的基础进行开发。
/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可快速启动开发环境,示例配置如下:
version: '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 # 共享临时目录
启动命令:
docker-compose up
docker 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权限以支持各类任务驱动docker 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环境变量显式指定数据目录路径,确保配置与挂载同步:
export 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官方Dockerized Consul镜像模型,基于djenriquez/nomad项目开发。
镜像需运行在主机网络模式下,支持灵活配置与非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开发模式:
version: '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 # 临时目录共享
启动命令:
docker-compose up
NOMAD_DISABLE_PERM_MGMT=true)docker 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权限支持任务驱动docker 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显式指定路径,确保配置与挂载同步:
export 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)免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429