Files
FlowStack/deploy/Dockerfile.buildnode
Logan.Li 6841c1104a feat: 工具配置 Ubuntu 化 + nvm 管理 Node 版本
- 工具目录重写为 Ubuntu 构建环境导向(7 项),每项带安装命令提示
  (apt/nvm,未安装时一键复制)
- 新增 nvm 工具条目(真实检测,本机验证 0.40.6);Node.js 改为
  nvm 管理:默认版本可调,构建时通过 nvm install $NODE_VERSION
  灵活指定版本
- DeployTool 新增 installHint 字段(模型/更新白名单/seed)
- 新增 deploy/Dockerfile.buildnode:Ubuntu 22.04 + JDK17/Maven/Git/
  Docker CLI/Golang + nvm 默认 Node(--build-arg NODE_VERSION 可改)
- 工具页顶部说明条更新构建环境建议
2026-10-27 12:15:16 +08:00

47 lines
1.7 KiB
Docker
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FlowStack 构建节点镜像(Ubuntu 22.04)
# 用法: docker build -f deploy/Dockerfile.buildnode -t flowstack-buildnode .
# 自定义默认 Node 版本: docker build --build-arg NODE_VERSION=18 -f deploy/Dockerfile.buildnode -t flowstack-buildnode .
FROM ubuntu:22.04
ARG DEBIAN_FRONTEND=noninteractive
ARG NODE_VERSION=20
ENV NVM_DIR=/root/.nvm \
NVM_NODE_DEFAULT=${NODE_VERSION}
# 基础工具 + JDK17 + Maven + Git + Docker CLI(Ubuntu apt 一步到位)
RUN apt-get update && apt-get install -y --no-install-recommends \
openjdk-17-jdk-headless \
maven \
git \
docker.io \
curl ca-certificates unzip xz-utils \
tzdata \
&& rm -rf /var/lib/apt/lists/*
# Golang(官方 tar,apt 的 golang 版本较旧)
ARG GOLANG_VERSION=1.24.2
RUN curl -fsSL https://go.dev/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz | tar -C /usr/local -xzf - \
&& ln -s /usr/local/go/bin/go /usr/local/bin/go \
&& ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt
# nvm + 默认 Node 版本(构建时可在流水线脚本里 nvm install <ver> 灵活切换)
ARG NVM_VERSION=v0.40.1
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh | bash \
&& . "$NVM_DIR/nvm.sh" \
&& nvm install ${NODE_VERSION} \
&& nvm alias default ${NODE_VERSION} \
&& echo '. "$NVM_DIR/nvm.sh"' >> /root/.bashrc
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 \
PATH=/usr/local/go/bin:$PATH
# 构建工作空间
RUN mkdir -p /data/flowstack-workspace
WORKDIR /data/flowstack-workspace
# 验证工具链可用
RUN java -version && mvn -version && go version && git --version \
&& . "$NVM_DIR/nvm.sh" && node -v && npm -v
CMD ["bash", "-c", "echo 'FlowStack build node ready' && bash"]