logo
0
0
Login
docs(core): 添加项目 README 文档

pnpm + Go 构建镜像

这是一个基于 Node.js 的 Docker 镜像,集成了 pnpm 包管理器和 Go 编程语言,用于构建包含 Node.js 和 Go 环境的应用程序。

特性

  • 🚀 Node.js 22 - 基于最新的 LTS 版本
  • 📦 pnpm - 快速、节省磁盘空间的包管理器
  • 🐹 Go 1.25.2 - 最新版本的 Go 编程语言
  • 🌏 中国镜像源 - 使用腾讯云 npm 镜像,加速包下载
  • 🕐 时区设置 - 默认设置为 Asia/Shanghai

镜像信息

  • 基础镜像: node:22-slim
  • Go 版本: 1.25.2
  • 工作目录: /app
  • 时区: Asia/Shanghai

使用方法

1. 构建镜像

docker build -t pnpm-go:latest .

2. 运行容器

# 交互式运行 docker run -it --rm pnpm-go:latest /bin/bash # 挂载项目目录 docker run -it --rm -v $(pwd):/app pnpm-go:latest /bin/bash

3. 在项目中使用

创建 Dockerfile 来使用此镜像:

FROM pnpm-go:latest # 复制项目文件 COPY package.json pnpm-lock.yaml ./ RUN pnpm install # 复制 Go 模块文件 COPY go.mod go.sum ./ RUN go mod download # 复制源代码 COPY . . # 构建应用 RUN pnpm build RUN go build -o app ./cmd/main.go # 运行应用 CMD ["./app"]

环境变量

  • GO_VERSION: Go 版本 (默认: 1.25.2)
  • TZ: 时区设置 (默认: Asia/Shanghai)

包含的工具

  • Node.js 22 - JavaScript 运行时
  • pnpm - 包管理器
  • Go 1.25.2 - Go 编程语言
  • wget - 文件下载工具
  • tar - 压缩工具
  • ca-certificates - SSL 证书

镜像优化

  • 使用 node:22-slim 作为基础镜像,减少镜像大小
  • 清理 apt 缓存,减少镜像层大小
  • 使用腾讯云 npm 镜像,提高国内下载速度
  • 设置合适的时区,便于日志记录

适用场景

  • 全栈应用开发 (Node.js + Go)
  • 微服务架构中的 API 服务
  • 需要同时使用 JavaScript 和 Go 的项目
  • CI/CD 流水线中的构建环境

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request 来改进这个镜像!

About

No description, topics, or website provided.