由于安装Rendertron踩过太多的坑,如npm版本与系统不兼容问题、nodejs版本过低问题、相关前置依赖安装问题等,特此做一个教程给新人避坑。前排提示:若您选择高版本的系统(Centos8.x、Debian12+等)可避免一大堆问题。
一、克隆Rendertron的GitHub仓库,并进入对应目录
git clone https://github.com/GoogleChrome/rendertron.git
cd rendertron
如果提示git命令未知,先安装一下Git
sudo apt-get install git #Debian、Ubuntu等
yum -y install git #Centos等
二、使用Dockerfile构建镜像
sudo docker build -t rendertron/rendertron .
如果提示“ ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory ”,说明Dockerfile文件不存在。我们需要在当前目录下新建一个Dockerfile,输入下面内容并保存。最后,重新执行一次上方的代码就行了。
#使用Node.js作为基础镜像
FROM node:14
#创建和设置工作目录
WORKDIR /usr/src/app
#复制package.json和package-lock.json
COPY package*.json ./
#安装依赖
RUN npm install
#复制剩余的应用文件
COPY . .
#构建项目(如果有)
RUN npm run build
#容器启动时运行的命令
CMD ["npm", "start"]
#映射的端口
EXPOSE 3000
三、镜像构建完成后,启动Docker容器
sudo docker run -d -p 3000:3000 rendertron/rendertron
注意检查一下端口是否被占用