https://github.com/voxpupuli/container-voxbox/actions/workflows/ci.yaml/badge.svg](https://github.com/voxpupuli/container-voxbox/actions/workflows/ci.yaml)  rake rubocop:autocorrect_all # 自动纠正RuboCop违规(安全和不安全纠正) rake spec # 运行spec测试,成功后清理测试夹具目录 rake spec:simplecov # 使用Ruby simplecov代码覆盖率运行spec测试 rake spec_clean # 清理测试夹具目录 rake spec_clean_symlinks # 清理所有测试夹具符号链接 rake spec_list_json # 以JSON文档列出spec测试 rake spec_prep # 创建测试夹具目录 rake spec_standalone # 运行RSpec代码示例 rake strings:generate[patterns,debug,backtrace,markup,json,markdown,yard_args] # 使用YARD生成Puppet文档 rake strings:generate:reference[patterns,debug,backtrace] # 生成Puppet参考文档 rake strings:gh_pages:update # 更新gh-pages分支上的文档并推送到GitHub rake strings:validate:reference[patterns,debug,backtrace] # 验证参考文档是否最新 rake syntax # 语法检查Puppet清单、模板和Hiera rake syntax:hiera # 语法检查Hiera配置文件 rake syntax:manifests # 语法检查Puppet清单 rake syntax:templates # 语法检查Puppet模板 rake test # 运行测试 rake travis_release # 已弃用:使用"release"任务替代 rake validate # 检查Ruby文件语法并调用:syntax和:metadata_lint rake voxpupuli:custom:lint_all # 使用所有puppet-lint检查进行代码检查
若要运行onceover,需覆盖入口点:
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint onceover ghcr.io/voxpupuli/voxbox:8 help
Onceover允许针对控制仓库运行测试。
初始化onceover:
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint onceover ghcr.io/voxpupuli/voxbox:latest init
运行spec测试:
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint onceover ghcr.io/voxpupuli/voxbox:8 run spec
使用Puppetfile中的内部git+ssh模块运行spec测试:
shellpodman run -it --rm \ -v ~/.ssh:/root/.ssh:Z \ -v $PWD:/repo:Z \ --entrypoint onceover ghcr.io/voxpupuli/voxbox:latest run spec
带Puppet输出运行spec测试:
shellpodman run -it --rm \ -v $PWD:/repo:Z \ -e SHOW_PUPPET_OUTPUT=true \ --entrypoint onceover ghcr.io/voxpupuli/voxbox:latest run spec
其他命令:
| 命令 | 功能描述 |
|---|---|
show puppetfile | 分析Puppetfile并显示可用更新 |
update puppetfile | 更新模块 |
更多命令、所需配置和使用方法详见https://github.com/voxpupuli/onceover%E3%80%82
若需要shell,需覆盖入口点:
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint ash ghcr.io/voxpupuli/voxbox:8
若要执行puppet,将入口点更改为puppet并传递子命令/参数。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint puppet ghcr.io/voxpupuli/voxbox:8 --help
puppet-strings
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint puppet ghcr.io/voxpupuli/voxbox:8 strings --help
若要执行puppet-ghostbuster,将入口点更改为ash并向容器传递命令。Ghostbuster需要连接到OpenVoxDB/PuppetDB,因此需提供环境变量。可在https://github.com/voxpupuli/puppet-ghostbuster%E4%BB%93%E5%BA%93%E7%9A%84%E6%96%87%E6%A1%A3%E4%B8%AD%E6%89%BE%E5%88%B0%E7%9B%B8%E5%85%B3%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E3%80%82
Ghostbuster支持以下检查:
可通过--only-checks组合这些检查,用逗号分隔列表。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint ash ghcr.io/voxpupuli/voxbox:8 find . -type f -exec bundle exec --gemfile /Gemfile puppet-lint --only-checks ghostbuster_classes,ghostbuster_facts {} \+
若要执行yamllint,将入口点更改为yamllint并向容器传递文件夹(例如.)。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint yamllint ghcr.io/voxpupuli/voxbox:8 .
若要执行jq,将入口点更改为jq并向容器传递查询/参数。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint jq ghcr.io/voxpupuli/voxbox:8 --help
若要执行curl,将入口点更改为curl并向容器传递查询/参数。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint curl ghcr.io/voxpupuli/voxbox:8 --help
若要直接执行RuboCop,将入口点更改为rubocop并传递子命令/参数。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint rubocop ghcr.io/voxpupuli/voxbox:8 podman run -it --rm -v $PWD:/repo:Z --entrypoint rubocop ghcr.io/voxpupuli/voxbox:8 --auto-gen-config
若要执行librarian,将入口点更改为librarian-puppet并传递查询/参数。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint librarian-puppet ghcr.io/voxpupuli/voxbox:8 help
若要使用纯eyaml加密/解密数据,更改入口点如下:
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint eyaml ghcr.io/voxpupuli/voxbox:8 edit /repo/
evb脚本简化了运行voxbox的命令输入。此外,它不关心选项顺序,这对设置shell别名很有用。运行命令时,必须进入openvox模块(含metadata.json文件)或控制仓库(含Puppetfile)的任何子目录。
显示evb帮助信息:
shell$ evb help Usage: /usr/local/bin/evb [options] [command] available options: --noop : 打印要运行的命令,但不执行 --entrypoint : 使用不同的入口点 可用入口点示例: onceover, ash, puppet, yamllint, jq, curl, rubocop 默认:不指定入口点 --image image : 使用不同的镜像(默认ghcr.io/voxpupuli/voxbox:8) --env VAR=val : 指定环境变量(可多次使用) 注意:赋值中的'./'将替换为容器中使用的正确路径。 示例:若在~/openvox-supermodule/spec/classes中启动脚本 并设置--env SPEC=./supermodule_spec.rb,将 使用-e SPEC=spec/classes/supermodule_spec.rb运行VoxBox --volume vol : 指定要放入容器的额外卷 参见podman
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务