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

Keybase Docker容器,暴露Keybase CLI及常用命令,如获取文件、克隆仓库、加载GitHub Action密钥等,便于在自动化流程中安全管理Keybase资源。
GitHub: []
Docker Hub: []
该Docker镜像的主要用途是配合此GitHub Action使用:
[***]
docker run --rm \ -v $PWD:$PWD -w $PWD \ -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" \ -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli keybase --version
| 环境变量 | 描述 | 是否必填 |
|---|---|---|
| KEYBASE_USERNAME | Keybase用户名 | 是 |
| KEYBASE_PAPERKEY | Keybase纸质密钥 | 是 |
| KEYBASE_UID | 用于设置文件所有者的主机用户ID | 否 |
| KEYBASE_GID | 用于设置文件所有者的主机用户组ID | 否 |
默认情况下,Keybase复制的文件权限为-rw-------,且Keybase可执行文件不以root身份运行。若未设置KEYBASE_UID和KEYBASE_GID,复制出的文件所有者将为1000:1000。为使文件可读,调用用户可通过环境变量传入当前用户和用户组ID,容器会动态创建具有相同UID:GID的用户,确保容器退出后文件可读。使用--user UID:GID无法动态创建带主目录的用户(Keybase必需),容器会检测并报错。
| 命令 | 语法 | 描述 |
|---|---|---|
| github-action-secrets | github-action-secrets keybase://path/to/file | 用于GitHub Action中获取Keybase密钥 |
| get | get keybase://path/to/file {localpath} | 从Keybase获取文件并复制到本地路径 |
| read | read keybase://path/to/file | 将文件内容输出到标准输出 |
| clone | clone {git clone options} keybase://path/to/repo {localpath} | 克隆Keybase Git仓库 |
| batch | batch "{上述任意命令},{上述任意命令}" 或batch "{上述任意命令};{上述任意命令}" | 在单次docker run中运行多个命令 |
| file | file /path/to/file | 执行命令文件中的一系列命令 |
| keybase | 详见:客户端命令 | 运行任意Keybase客户端命令 |
| {其他命令(即raw)} | 不匹配上述关键字的命令将直接执行,例如chmod a+r filename | 未匹配命令直接执行 |
注意:
{参数}为可选。
github-action-secretsdocker run --rm \ -v $PWD:$PWD -w $PWD \ -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" \ -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli github-action-secrets keybase://path/to/file
该命令将解析.yaml、.json或.env文件,并在GitHub Action中设置密钥。文件中的每个条目将使容器输出:
::set-output name={name}::{value} 参考
::add-mask::{value} 参考
注意:通过此方法加载的密钥将在工作流日志中以
*****隐藏。详见:参考了解Action安全相关信息。
action-secrets.yaml
secret_1: this is secret 1 secret_2: this is secret 2
action-secrets.json
{ "secret_1": "this is secret 1", "secret_2": "this is secret 2" }
action-secrets.env
secret_1="this is secret 1" secret_2="this is secret 2" secret_3=this_is_secret_3
jobs: example: runs-on: ubuntu-latest steps: - name: 获取密钥 id: keybase_secrets shell: bash run: | run --rm \ -v $PWD:$PWD -w $PWD \ -e KEYBASE_USERNAME="${{secrets.KEYBASE_USERNAME}}" \ -e KEYBASE_PAPERKEY="${{secrets.KEYBASE_PAPERKEY}}" \ -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli github-action-secrets keybase://path/to/file - name: 检查密钥是否加载并隐藏 ### 此处日志中密钥应以`*****`显示 run: echo "${{steps.secrets.outputs.secret_1}}"
get将文件复制到本地文件系统。
docker run --rm -v $PWD:$PWD -w $PWD -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli get keybase://path/to/file
docker run --rm -v $PWD:$PWD -w $PWD -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli get keybase://path/to/file keybase://path/to/file path/to/local/file
read将文件内容输出到标准输出。
docker run --rm -v $PWD:$PWD -w $PWD -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli read keybase://path/to/file
clone克隆Git仓库。
docker run --rm -v $PWD:$PWD -w $PWD -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli clone keybase://path/to/clone
docker run --rm -v $PWD:$PWD -w $PWD -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli clone -b my_branch keybase://path/to/clone path/to/local
keybase执行Keybase CLI命令。
docker run --rm -v $PWD:$PWD -w $PWD -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli keybase --version
注意:任何不匹配上述命令的输入将作为原始命令尝试执行。例如
ls -la .或keybase --version均可运行。
raw从容器内执行原始命令。
docker run --rm -v $PWD:$PWD -w $PWD -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli ls -la .
注意:任何不匹配上述命令的输入将作为原始命令尝试执行。例如
ls -la .或keybase --version均可运行。
batch执行以,或;分隔的一系列命令。
docker run --rm -v $PWD:$PWD -w $PWD -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli batch "{上述任意命令},{上述任意命令}"`
file执行命令文件中包含的一系列命令。
docker run --rm -v $PWD:$PWD -w $PWD -e KEYBASE_USERNAME="$KEYBASE_USER" \ -e KEYBASE_PAPERKEY="$KEYBASE_PAPERKEY" -e KEYBASE_UID=$UID -e KEYBASE_GID=$GID \ bjgeiser/keybase-cli file keybase://path/to/command_file.yaml
command_file.yaml
commands: - get keybase://path/to/file - get keybase://path/to/file2 - get keybase://path/to/file3 - clone keybase://path/to/clone - github-action-secrets keybase://path/to/file # 修改上述下载的文件权限 - chmod a+rw file3
免费版仅支持 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