41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
FROM node:25-alpine
|
|
|
|
LABEL author="z-to <gaomia.site>"
|
|
|
|
# 设置时区 (Node.js 和 Git 都会识别此变量)
|
|
ENV TZ=Asia/Shanghai
|
|
|
|
WORKDIR /app
|
|
|
|
# 1. 替换 Alpine 软件源
|
|
# 假设你的构建目录下有一个名为 repositories 的文件
|
|
COPY ./repositories /etc/apk/repositories
|
|
|
|
# 2. 仅安装核心开发工具
|
|
# git: 必须装 (终端执行 git 命令、脚本调用)
|
|
# bash: 建议装 (比默认 sh 更好用,支持很多脚本语法)
|
|
RUN apk update && \
|
|
apk add --no-cache git bash
|
|
|
|
# 3. 下载 starship 二进制文件 (Alpine 版本)
|
|
RUN wget https://github.com/starship/starship/releases/latest/download/starship-x86_64-unknown-linux-musl.tar.gz -O /tmp/starship.tar.gz && \
|
|
tar -xzf /tmp/starship.tar.gz -C /tmp/ && \
|
|
mv /tmp/starship /usr/local/bin/ && \
|
|
rm /tmp/starship.tar.gz
|
|
|
|
# 4. 在 bashrc 初始化
|
|
RUN echo 'eval "$(starship init bash)"' >> /root/.bashrc && \
|
|
mkdir -p ~/.config/ && \
|
|
starship preset no-empty-icons -o ~/.config/starship.toml
|
|
|
|
# 6. 复制 npm 配置
|
|
COPY .npmrc ./
|
|
|
|
# 7. 预安装依赖到镜像中
|
|
# RUN yarn install
|
|
|
|
EXPOSE 3000
|
|
VOLUME [ "/app" ]
|
|
|
|
# 8. 保持容器运行
|
|
CMD ["tail", "-f", "/dev/null"] |