docker快速安装node
在 CentOS 上安装高版本的 Node.js 时可能会遇到与 GLIBC 版本不兼容的问题,因为较新的 Node.js 版本需要更高版本的 GLIBC。例如,Node.js 18 及更高版本需要 GLIBC 2.28 或更高版本,而 CentOS 7 默认提供的 GLIBC 版本为 2.17。升级 GLIBC 是一种解决方案,但这可能会影响系统上的其他依赖于旧版本 GLIBC 的软件。为此,我
一、原因:
在 CentOS 上安装高版本的 Node.js 时可能会遇到与 GLIBC 版本不兼容的问题,因为较新的 Node.js 版本需要更高版本的 GLIBC。例如,Node.js 18 及更高版本需要 GLIBC 2.28 或更高版本,而 CentOS 7 默认提供的 GLIBC 版本为 2.17。
升级 GLIBC 是一种解决方案,但这可能会影响系统上的其他依赖于旧版本 GLIBC 的软件。因此,在生产环境中这样做之前,请确保了解所有潜在的风险。
为此,我们选择docker安装方式,就是因为docker的隔离特性,不会影响现有系统的软件和服务。
二、docker安装node步骤,我选择的是node20版本
1.下载
docker pull node:20
2.运行
docker run -itd -p 3434:3434 -v /usr/workspace/nodeapp/:/usr/workspace/nodeapp/ --name=node --restart=always --privileged=true node:20
如果运行不起来,试试这个docker run -d --name node -v /usr/local/node/20/:/usr/local/node/20/ --restart=always --privileged=true -v /etc/localtime:/etc/localtime:ro node:20-alpine sh -c "tail -f /dev/null"
3.进入容器并设置docker加速地址
进入容器
docker exec -it node /bin/bash
查看node和npm版本
node -v && npm -v
查看镜像加速地址
npm config get registry
设置镜像加速地址
npm config set registry=https://registry.npmmirror.com
4.安装vue/cli,根据情况二选一安装即可
vue2安装命令
npm install -g @vue/cli-service
vue3安装命令
npm install -g @vue/cli以上就安装好了,下面的步骤根据个人情况而定。
5.复制源代码到node容器中进行打包
退出容器
exit
进入源代码目录
cd /usr/workspace/app/vue_wclflow
复制所有源代码到容器中
docker cp . node:/usr/workspace/nodeapp/vue_wclflow
6.进入容器进行打包
进入容器
docker exec -it node /bin/bash
进行源码目录&&删除缓存文件&&安装&&打包&&退出容器
cd /usr/workspace/nodeapp/vue_wclflow/ && rm -rf dist/ && rm -rf node_modules/ && npm i && npm run clean && npm run build:test && exit
7.将打包好的文件夹复制到nginx中
rm -rf /usr/nginx/html/dist/
docker cp node:/usr/workspace/nodeapp/vue_wclflow/dist/test/ /usr/nginx/html/dist/8.访问nginx首页就可以看到前端项目页面了。
注意事项:
如果docker pull下载不了,或总是超时,则设置docker镜像代理(原文来源:Docker 镜像 pull 失败解决办法_docker pull 失败-CSDN博客)
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://mirrors.tencent.com", "https://docker.hpcloud.cloud", "https://docker.m.daocloud.io", "https://docker.unsee.tech", "https://docker.1panel.live", "http://mirrors.ustc.edu.cn", "https://docker.chenby.cn", "http://mirror.azure.cn", "https://dockerpull.org", "https://dockerhub.icu", "https://hub.rat.dev" ] } EOF # 重启生效 sudo systemctl daemon-reload sudo systemctl restart docker备用
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://registry.cn-hangzhou.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "https://mirror.ccs.tencentyun.com", "https://hub.huaweicloud.com", "https://dockerhub.daocloud.io" ] } EOF # 重启生效 sudo systemctl daemon-reload sudo systemctl restart docker
更多推荐
所有评论(0)