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