logo
0
0
WeChat Login
orician<orician@nexsea.net>
feat: 添加 Dockerfile 和镜像更新脚本以支持 gomod 依赖镜像构建

PNPM Docker Image

这是一个基于 Node.js Alpine 的 PNPM Docker 镜像,用于提供轻量级的 PNPM 包管理环境。

功能特点

  • 基于 Node.js Alpine 镜像,体积小巧
  • 预装 PNPM 包管理器
  • 支持多架构(linux/amd64, linux/arm64)
  • 包含自定义入口脚本
  • 🔄 自动版本管理:Node.js 版本通过 .nvmrc 文件统一管理
  • 🚀 一键构建:提供自动化构建脚本,简化部署流程

使用方法

拉取镜像

# 拉取最新版本 docker pull docker.cnb.cool/1024hub/docker/pnpm:latest # 拉取指定版本 docker pull docker.cnb.cool/1024hub/docker/pnpm:1.0.0

运行容器

docker run -it --rm docker.cnb.cool/1024hub/docker/pnpm:1.0.0 pnpm --version

构建和推送

方式一:使用自动化脚本(推荐)

项目提供了自动化构建脚本,会自动读取 .nvmrc 文件中的 Node.js 版本:

# 运行自动化构建脚本 ./build.sh

脚本功能:

  • 🔄 自动读取 .nvmrc 文件中的 Node.js 版本
  • 🏗️ 构建多架构镜像(linux/amd64, linux/arm64)
  • 📦 自动推送到制品库
  • 🛡️ 完整的错误检查和状态反馈

方式二:使用 buildx 手动构建

# 创建并使用 buildx 构建器 docker buildx create --use # 构建并直接推送多架构镜像(需要指定 Node.js 版本) NODE_VERSION=$(cat .nvmrc | tr -d '\n\r') docker buildx build --platform linux/amd64,linux/arm64 \ --build-arg NODE_VERSION="$NODE_VERSION" \ -t docker.cnb.cool/1024hub/docker/pnpm:1.0.0 \ -t docker.cnb.cool/1024hub/docker/pnpm:latest \ --push .

方式三:分步构建和推送

  1. 本地构建:
# 构建指定版本(需要指定 Node.js 版本) NODE_VERSION=$(cat .nvmrc | tr -d '\n\r') docker build --build-arg NODE_VERSION="$NODE_VERSION" \ -t docker.cnb.cool/1024hub/docker/pnpm:1.0.0 . docker build --build-arg NODE_VERSION="$NODE_VERSION" \ -t docker.cnb.cool/1024hub/docker/pnpm:latest .
  1. 登录制品库:
docker login docker.cnb.cool -u cnb -p {your-token-value}
  1. 推送镜像:
# 推送指定版本 docker push docker.cnb.cool/1024hub/docker/pnpm:1.0.0 # 推送 latest 版本 docker push docker.cnb.cool/1024hub/docker/pnpm:latest

注意事项

  • 推荐使用方式一(自动化脚本),可以一步完成多架构构建和推送
  • 方式二只能构建当前平台架构的镜像
  • 推送前必须确保已登录 CNB Docker 制品库
  • 生产环境建议使用固定版本号

构建信息

  • 基础镜像:node:22.14.0-alpine(版本来自 .nvmrc 文件)
  • PNPM:最新稳定版
  • 支持架构:linux/amd64, linux/arm64

About

No description, topics, or website provided.