Docker构建node镜像
2025年1月12日
为什么要用docker装node
node经常有多版本需求,某些特殊项目还容易遇到各种坑。尤其是文件夹繁多问题,对于我来说感觉很烦躁。放在docker里能防止二次出现问题,对后来接手的人也友好。 我已经封装上传 dockerhub ,可直接拉取使用,详见文档说明。
构建脚本
Dockerfile
FROM alpine
RUN apk add nodejs && \
apk add npm && \
npm install -g pnpm
# 自定义版本号在 https://pkgs.alpinelinux.org/packages 搜索nodejs>和npm
# FROM alpine:3.16 #构建node16版本
# #构建node16版本
#RUN apk add nodejs=16.20.2-r0 && \
# apk add npm=8.10.0-r0 && \
# npm install -g pnpm@latest-8
ENV TZ=Asia/Shanghai
- 构建镜像
docker build -t node:latest .
- 运行
docker run --name node -itd -p 8080-8085:8080-8085 -v 代码目录:代码目录 node:latest
设置环境变量
alias node='docker exec -it -w $(pwd) node node'
alias npm='docker exec -it -w $(pwd) node npm'
alias pnpm='docker exec -it -w $(pwd) node pnpm'