| # 使用官方的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"] |