pulumi/pulumi-nodejs-22本镜像为Pulumi官方镜像的替代方案。pulumi/pulumi镜像因需捆绑Pulumi支持的所有SDK(Go、Python、NodeJS、.NET、Java)而体积较大,本镜像则针对特定SDK提供更精简的容器环境,仅包含pulumi二进制文件、对应SDK的语言运行时及必要的语言组件。
构建镜像所使用的基础镜像包括:
registry.access.redhat.com/ubi9/ubi-minimal(ubi)debian:12-slim(debian)仅包含Pulumi二进制文件和语言运行时,不含SDK运行时。若使用此镜像,需自行安装Go/Python/Dotnet/NodeJS等SDK运行时。镜像格式:
pulumi/pulumi-base:<PULUMI_VERSION>-<OS>-<ARCH>
默认不含OS后缀的镜像基于Debian AMD64,使用示例:
pulumi/pulumi-base:<PULUMI_VERSION>
包含SDK运行时的镜像,格式如下:
pulumi/pulumi-<PULUMI_SDK>:<PULUMI_VERSION>-<OS>-<ARCH>
默认不含OS后缀的镜像基于Debian AMD64,使用示例:
pulumi/pulumi-<PULUMI_SDK>:<PULUMI_VERSION> pulumi/pulumi-<PULUMI_SDK>:latest
各镜像体积显著小于捆绑所有SDK的官方镜像,压缩大小约为150-400MB(具体取决于基础操作系统)。
UBI镜像使用microdnf作为包管理器(非yum),详情可参考microdnf文档。
适用于需要精简Pulumi环境的场景,如CI/CD流程、容器化部署等,尤其适合仅使用特定SDK的场景,可减少资源占用和镜像拉取时间。
在容器中运行Pulumi命令,可通过传递bash命令实现:
bashdocker run --rm -e "PULUMI_ACCESS_TOKEN=$PULUMI_ACCESS_TOKEN" -v $(pwd):/pulumi/projects $IMAGE bash -c "pulumi install && pulumi preview -s $STACK"
-e "PULUMI_ACCESS_TOKEN=$PULUMI_ACCESS_TOKEN": 传递Pulumi访问令牌-v $(pwd):/pulumi/projects: 挂载当前目录到容器内的/pulumi/projects目录$IMAGE: 替换为实际使用的镜像名称(如pulumi/pulumi-python:3.0.0)pulumi install && pulumi preview -s $STACK: 执行Pulumi安装和预览命令($STACK为堆栈名称)pulumi/pulumi-base:3.0.0pulumi/pulumi-python:3.0.0-debian-arm64pulumi/pulumi-nodejs:3.0.0-ubi-amd64本镜像不包含运行Pulumi Provider时可能需要的额外工具。例如,使用pulumi-kubernetes结合Helm时,需将本镜像作为基础镜像,或在CI流程中安装helm命令。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务