轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
hashicorp/nomad-driver-podman
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

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

nomad-driver-podman Docker 镜像下载 - 轩辕镜像

nomad-driver-podman 镜像详细信息和使用指南

nomad-driver-podman 镜像标签列表和版本信息

nomad-driver-podman 镜像拉取命令和加速下载

nomad-driver-podman 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

nomad-driver-podman
hashicorp/nomad-driver-podman

nomad-driver-podman 镜像详细信息

nomad-driver-podman 镜像标签列表

nomad-driver-podman 镜像使用说明

nomad-driver-podman 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Nomad podman Driver是HashiCorp Nomad的容器驱动插件,支持通过podman运行容器,提供容器生命周期管理、资源监控(CPU/内存)、卷挂载、端口发布、日志转发等功能,支持rootless容器及cgroup V2。
0 次下载activehashicorp镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

nomad-driver-podman 镜像详细说明

nomad-driver-podman 使用指南

nomad-driver-podman 配置说明

nomad-driver-podman 官方文档

Nomad podman Driver

概述和主要用途

Nomad podman Driver是HashiCorp Nomad的容器驱动插件,允许用户在Nomad集群中使用podman运行容器。该插件由@towe75和Pascom贡献,提供了容器生命周期管理、资源监控、网络配置等核心能力,适用于需要在Nomad中集成podman容器运行时的场景,尤其支持rootless容器及cgroup V2。

核心功能和特性

  • 使用作业驱动配置定义容器镜像
  • 启动/停止容器,支持默认或自定义入口点和参数
  • 填充Nomad运行时环境变量
  • 在容器中使用Nomad分配数据
  • 将自定义卷绑定挂载到容器中
  • 发布端口
  • 监控内存消耗
  • 监控CPU使用率
  • 任务配置中的CPU值用于设置podman CpuShares
  • 容器日志转发到Nomad日志器
  • 利用podman的--init特性
  • 设置容器内命令运行的用户名或UID(podman --user选项)
  • 精细调整内存使用:标准Nomad内存资源加上驱动特定的交换空间、交换行为、预留参数及OOM处理
  • 支持cgroup V2的rootless容器

从源码构建驱动

该项目包含go.mod定义,可克隆到任意目录,无需设置GOPATH。需使用Go 1.13或更高版本。

$ git clone ***:hashicorp/nomad-driver-podman
cd nomad-driver-podman
./build.sh

运行时依赖

  • Nomad 0.9+
  • 安装了podman的Linux主机
  • 对于rootless容器,需要支持cgroup V2的系统及其他配置,可参考rootless教程

需启用varlink的podman二进制文件和系统套接字激活单元,详见podman varlink文档。Nomad代理、驱动及podman位于同一主机,无需配置podman varlink的SSH相关功能。需确保Nomad能找到插件,配置方法见plugin_dir。

驱动配置

volumes stanza

  • enabled - 默认true。允许任务将主机路径(卷)绑定到容器内。
  • selinuxlabel - 允许管理员为分配和任务本地绑定挂载到容器的路径设置SELinux标签。若与volumes.enabled=false一起使用,标签仍会应用于容器中的标准绑定。
plugin "nomad-driver-podman" {
  config {
    volumes {
      enabled      = true
      selinuxlabel = "z"
    }
  }
}

gc stanza

  • container - 默认true。可禁用Nomad在任务退出时删除容器。
plugin "nomad-driver-podman" {
  config {
    gc {
      container = false
    }
  }
}

recover_stopped (bool)

默认true。允许驱动在Nomad客户端重启后启动并重用之前停止的容器。适用于单节点系统重启场景,可避免容器重建。

plugin "nomad-driver-podman" {
  config {
    recover_stopped = false
  }
}

socket_path (string)

默认值:root用户或cgroup V1系统为"unix://run/podman/io.podman",rootless cgroup V2系统为"unix://run/user/<USER_ID>/podman/io.podman"。

plugin "nomad-driver-podman" {
  config {
    socket_path = "unix://run/podman/io.podman"
  }
}

任务配置

image

指定要运行的容器镜像。

config {
  image = "docker://redis"
}

entrypoint (可选)

容器的入口点,默认为镜像中定义的入口点。

config {
  entrypoint = "/entrypoint.sh"
}

command (可选)

启动容器时执行的命令。

config {
  command = "some-command"
}

args (可选)

命令参数列表。若未指定command,参数将直接传递给容器。

config {
  args = [
    "arg1",
    "arg2",
  ]
}

working_dir (可选)

容器的工作目录,默认为镜像中定义的默认目录。

config {
  working_dir = "/data"
}

volumes (可选)

主机路径与容器路径绑定的字符串列表,格式为host_path:container_path。

config {
  volumes = [
    "/some/host/data:/container/data"
  ]
}

tmpfs (可选)

tmpfs挂载点的容器路径列表,详见podman run --tmpfs选项。

config {
  tmpfs = [
    "/var"
  ]
}

hostname (可选)

分配给容器的主机名。使用count启动多个任务实例时,所有容器将共享此主机名。

端口转发和暴露 (可选)

配置方法详见Docker驱动端口配置。

init

在容器内运行init进程,用于转发信号和回收子进程。

config {
  init = true
}

init_path

容器init二进制文件的路径。

config {
  init = true
  init_path = "/usr/libexec/podman/catatonit"
}

user

在容器内以指定用户/UID运行命令,详见任务用户配置。

user = "nobody"

config {
}

memory_reservation

内存软限制(单位:b/字节、k/千字节、m/兆字节、g/千兆字节)。当系统内存紧张时,容器将被限制在预留值内,需小于memory硬限制。

config {
  memory_reservation = "100m"
}

memory_swap

内存+交换空间的总限制,必须大于内存资源值。单位同上,设置为-1表示无限制交换空间。

config {
  memory_swap = "180m"
}

memory_swappiness

调整容器内存交换行为,取值范围0-100(整数)。

config {
  memory_swappiness = 60
}

network_mode

设置容器网络模式:

  • bridge:(root用户默认)使用默认桥接网络
  • none:禁用网络
  • container:id:重用其他容器的网络栈
  • host:使用主机网络栈(不安全,容器可访问主机系统服务)
  • slirp4netns:(rootless默认)使用slirp4netns创建用户网络栈(root容器暂不支持)
config {
  network_mode = "bridge"
}

示例任务

简单Redis任务

job "redis" {
  datacenters = ["dc1"]
  type        = "service"

  group "redis" {
    task "redis" {
      driver = "podman"

        config {
          image = "docker://redis"
          port_map {
              redis = 6379
          }
        }

      resources {
        cpu    = 500
        memory = 256
        network {
          mbits = 20
          port "redis" {}
        }
      }
    }
  }
}

运行任务:

nomad run redis.nomad

==> Monitoring evaluation "9fc25b88"
    Evaluation triggered by job "redis"
    Allocation "60fdc69b" created: node "f6bccd6d", group "redis"
    Evaluation status changed: "pending" -> "complete"
==> Evaluation "9fc25b88" finished with status "complete"

验证容器运行:

podman ps

CONTAINER ID  IMAGE                           COMMAND               CREATED         STATUS             PORTS  NAMES
6d2d700cbce6  docker.io/library/redis:latest  docker-entrypoint...  16 seconds ago  Up 16 seconds ago         redis-60fdc69b-65cb-8ece-8554-df49321b3462

Ubuntu Rootless环境示例

  1. 配置cgroup V2:编辑/etc/default/grub,添加内核参数
GRUB_CMDLINE_LINUX_DEFAULT="quiet cgroup_enable=memory swapaccount=1 systemd.unified_cgroup_hierarchy=1"

更新grub:sudo update-grub

  1. 确保podman varlink服务运行:
systemctl --user status io.podman
● io.podman.service - Podman Remote API Service
     Loaded: loaded (/usr/lib/systemd/user/io.podman.service; disabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-07-01 16:01:41 EDT; 7s ago
TriggeredBy: ● io.podman.socket
       Docs: man:podman-varlink(1)
   Main PID: 25091 (podman)
      Tasks: 29 (limit: 18808)
     Memory: 17.5M
        CPU: 184ms
     CGroup: /user.slice/user-1000.slice/***/io.podman.service
             ├─25091 /usr/bin/podman varlink unix:/run/user/1000/podman/io.podman --timeout=60000 --cgroup-manager=systemd
             ├─25121 /usr/bin/podman varlink unix:/run/user/1000/podman/io.podman --timeout=60000 --cgroup-manager=systemd
             └─25125 /usr/bin/podman
  1. 验证crun版本(需支持rootless):
crun -V
crun version 0.13.227-d38b
commit: d38b8c28fc50a14978a27fa6afc69a55bfdd2c11
spec: 1.0.0
+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
  1. 运行rootless任务:创建example.nomad
job "example" {
  datacenters = ["dc1"]
  type        = "service"

  group "cache" {
    count = 1
    restart {
      attempts = 2
      interval = "30m"
      delay    = "15s"
      mode     = "fail"
    }
    task "redis" {
      driver = "podman"

      config {
        image = "redis"

        port_map {
          db = 6379
        }
      }

      resources {
        cpu    = 500 # 500 MHz
        memory = 256 # 256MB

        network {
          port "db" {}
        }
      }
    }
  }
}

提交任务:nomad job run example.nomad

  1. 验证容器运行:
podman ps
CONTAINER ID  IMAGE                           COMMAND       CREATED        STATUS            PORTS                                                 NAMES
2423ae3efa21  docker.io/library/redis:latest  redis-server  7 seconds ago  Up 6 seconds ago  127.0.0.1:21510->6379/tcp, 127.0.0.1:21510->6379/udp  redis-b640480f-4b93-65fd-7bba-c15722886395
查看更多 nomad-driver-podman 相关镜像 →
hashicorp/nomad logo
hashicorp/nomad
by HashiCorp, an IBM Company
认证
官方Nomad Docker镜像,用于部署和管理容器化及非容器化工作负载的工作负载编排工具。
10100K+ pulls
上次更新:10 天前
hashicorp/nomad-website logo
hashicorp/nomad-website
by HashiCorp, an IBM Company
认证
用于构建Nomad文档网站的工具镜像,提供预配置构建环境,支持本地开发预览与CI/CD自动化构建流程。
3100K+ pulls
上次更新:3 年前
grafana/loki-docker-driver logo
grafana/loki-docker-driver
by Grafana Labs
认证
暂无描述
861M+ pulls
上次更新:13 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.