安装node
下载镜像
docker pull node
启动node
以后台交互方式启动
docker run -itd --name node1 -v nodebuild:/home/vue node
查看版本
进入容器内
docker exec -it node1 /bin/bash
查看版本
node -v
设置镜像源
设置为国内的镜像源,安装依赖速度更快
npm config set registry https://registry.npm.taobao.org
上传代码
查看容器卷信息,找到挂载目录。
docker inspect nodebuild
上传代码到 /var/lib/docker/volumes/nodebuild/_data 目录下
编译打包
进入容器内部
docker exec -it node1 /bin/bash
安装依赖
npm install
切换到代码的目录下
cd /home/vue/代码目录
编译
npm run build:prod
如果出现错误:Error: error:0308010C:digital envelope routines::unsupported
问题主要是nodeJs V17版本发布了OpenSSL3.0对算法和秘钥大小增加了更为严格的限制,导致了nodeJs V17和之后的版本会出现这个错误。
执行
export NODE_OPTIONS=--openssl-legacy-provider
再编译打包
npm run build:prod