| # 使用官方的Ubuntu作为基础镜像 |
| FROM ubuntu:latest |
|
|
| # 更新软件包列表并安装所需软件 |
| RUN apt -y update && \ |
| apt -y install curl unzip nodejs npm xubuntu-desktop |
| #libnss3 libnss3-dev libatk1.0-0 libatk-bridge2.0-0 libcups2 libxdamage-dev libpango1.0-0 libxkbcommon0 |
|
|
| # 创建项目目录并进入 |
| WORKDIR /app |
|
|
| # 复制本地的js文件到容器中 |
| COPY main.js ./ |
|
|
| # 列出/app目录内容 |
| RUN ls -al /app |
|
|
| # 安装puppeteer依赖 |
| RUN npm install puppeteer |
|
|
| # 列出/app/node_modules目录内容 |
| RUN ls -al /app/node_modules |
|
|
| # 列出/app/node_modules/puppeteer目录内容 |
| RUN ls -al /app/node_modules/puppeteer |
|
|
|
|
| # 手动安装Chromium |
| RUN node node_modules/puppeteer/install.mjs |
| # 创建用于存放Chrome相关文件的目录 |
| RUN mkdir -p /app/chrome |
| RUN ls -al /root/.cache/puppeteer/chrome |
| RUN ls -al /root/.cache/puppeteer/chrome-headless-shell |
| RUN ls -al /root/.cache/puppeteer/chrome/linux-131.0.6778.85 |
| RUN ls -al /root/.cache/puppeteer/chrome-headless-shell/linux-131.0.6778.85 |
| RUN ls -al /root/.cache/puppeteer/chrome/linux-131.0.6778.85/chrome-linux64 |
| RUN ls -al /root/.cache/puppeteer/chrome-headless-shell/linux-131.0.6778.85/chrome-headless-shell-linux64 |
| RUN ls -al /root/.cache/puppeteer/chrome-headless-shell/linux-131.0.6778.85/chrome-headless-shell-linux64 |
| RUN ls -al /root/.cache/puppeteer/chrome-headless-shell/linux-131.0.6778.85/chrome-headless-shell-linux64 |
| # 移动chrome可执行文件及相关到 /app/chrome 目录(假设之前下载好的文件在对应缓存目录下可获取到) |
| # RUN mv /root/.cache/puppeteer/chrome/linux-131.0.6778.85 /app/chrome |
| # RUN mv /root/.cache/puppeteer/chrome-headless-shell/linux-131.0.6778.85 /app/chrome-headless-shell |
| # 复制chrome - headless - shell目录及其内容 |
| RUN mv /root/.cache/puppeteer/chrome/linux-131.0.6778.85/* /app/chrome/ |
|
|
|
|
| # 列出/app目录内容 |
| RUN ls -al /app/chrome |
|
|
| # 暴露7860端口 |
| EXPOSE 7860 |
|
|
| # 运行Node.js应用 |
| CMD ["node", "main.js"] |